Дуже просте рішення в багатьох ситуаціях, для досить серйозної проблеми. У випадку, коли нам потрібно перемістити веб-сайт, файли якого нараховують кілька тисяч, а постачальник веб-хостингу не надає нам система резервного копіювання cu arhivare sau alta metoda similara care sa ne permita acest lucru, Передача по FTP це рішення займе у нас багато часу.
Сценарій PHP, завантажений на сервер, на якому розміщено веб-сайт, допоможе нам у цьому архівація у форматі .TAR всіх файлів у папці.
Як архівувати файли та папки на веб-сервері за допомогою сценарію PHP?
Ми копіюємо наведений нижче скрипт і розміщуємо його у файлі .php на сервері. Приклад: archive.php має містити наведений нижче сценарій:
<?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();
}
?>
Обережно! Сценарій потрібно завантажити в папку, куди ми хочемо заархівувати папку та файли, які вона містить. Наприклад, якщо ми хочемо заархівувати весь вміст папки wp-content WordPress, файл, який ми називаємо arhiva.php, буде завантажено в /wp-content/.
Архів створюється шляхом доступу до файлу archive.php у браузері. url: http:..name_website.tld/wp-content/arhiva.php, і в кінці операції файл archive.tar буде присутній на сервері.
Якщо у вас великий обсяг файлів, змініть значення “тайм -аут” часу виконання. Ви можете зробити це з php.ini або з .htaccess.