Jak utworzyć archiwum .TAR plików i katalogów (folderów) na serwerze za pomocą skryptu PHP
Jak utworzyć archiwum .TAR plików i katalogów (folderów) na serwerze za pomocą skryptu PHP
Bardzo proste rozwiązanie w wielu sytuacjach, na dość poważny problem. W sytuacji, gdy musimy przenieść witrynę, której plików jest kilka tysięcy, a dostawca usług hostingowych nie udostępnia nam systemu kopii zapasowych poprzez archiwizację lub inną podobną metodę, która nam na to pozwala, Transfer FTP jest to rozwiązanie, które zajęłoby nam dużo czasu.
Pomógłby nam w tym skrypt PHP przesłany na serwer, na którym znajduje się witryna archiwizacja w formacie .TAR wszystkich plików w folderze.
Jak archiwizować pliki i foldery na serwerze WWW za pomocą skryptu PHP?
Kopiujemy poniższy skrypt i umieszczamy go w pliku .php na serwerze. Przykład: Archive.php powinien zawierać poniższy skrypt:
<?php
try {
//make sure the script has enough time to run (300 seconds = 5 minutes)
ini_set('max_execution_time', '300');
ini_set('set_time_limit', '0');
$target = isset($_GET["targetname"]) ? $_GET["targetname"] : 'archive.tar'; //default to archive.tar
$dir = isset($_GET["dir"]) ? $_GET["dir"] : './.'; //defaults to all in current dir
//setup phar
$phar = new PharData($target);
$phar->buildFromDirectory(dirname(__FILE__) . '/'.$dir);
echo 'Compressing all files done, check your server for the file ' .$target;
} catch (Exception $e) {
// handle errors
echo 'An error has occured, details:';
echo $e->getMessage();
}
?>
Ostrożny! Skrypt należy wgrać do folderu, w którym chcemy zarchiwizować folder i zawarte w nim pliki. Na przykład, jeśli chcemy zarchiwizować całą zawartość folderu wp-content WordPressa, plik, który nazywamy arhiva.php, zostanie przesłany do /wp-content/.
Archiwum tworzone jest poprzez dostęp do pliku Archive.php w przeglądarce. url: http:..name_website.tld/wp-content/arhiva.php, a po zakończeniu operacji plik Archive.tar będzie obecny na serwerze.
Jeśli masz dużą liczbę plików, zmień wartość “przekroczenie limitu czasu” czasu wykonania. Możesz to zrobić z php.ini lub z .htaccess.
Jak utworzyć archiwum .TAR plików i katalogów (folderów) na serwerze za pomocą skryptu PHP
Co nowego
O Stealth
Pasjonat technologii, z przyjemnością piszę na StealthSettings.com od 2006 roku. Mam bogate doświadczenie w systemach operacyjnych: macOS, Windows i Linux, a także w językach programowania i platformach blogowych (WordPress) oraz dla sklepów internetowych (WooCommerce, Magento, PrestaShop).
Zobacz wszystkie posty StealthMoże zainteresują Cię także...