Veľmi jednoduché riešenie v mnohých situáciách, za dosť vážny problém. V scenári, kde musíme presunúť webové stránky, ktorých súbory majú niekoľko tisíc, a poskytovateľ webhostingu nám neposkytuje zálohovací systém s archiváciou alebo inou podobnou metódou, aby nám dovolí, Prenos FTP Ide o riešenie, ktoré by sme trvať veľmi dlho.
Skript PHP nahraný na server, ktorý hostí webové stránky, nám to pomôže archivácia formát tar všetkých súborov v priečinku.
Ako môžem archivovať súbory a priečinky na webovom serveri pomocou skriptu PHP?
Skopírujte nižšie uvedený skript a vložte ho do súboru .php na serveri. Príklad: arhiva.php, ktorý obsahuje nasledujúci skript:
<?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();
}
?>
Pozor! Skript je potrebné nahrať do priečinka, do ktorého chceme priečinok a súbory, ktoré ich obsahujú, archivovať. Napríklad, ak chceme archivovať celý obsah priečinka wp-content, al WordPress, súbor, ktorý sme nazvali arhiva.php, bude nahraný do / wp-content /.
Archív sa vytvára prístupom k súboru arhiva.php v prehliadači. url: http: ..web_name.tld / wp-content / archive.php a na konci operácie na serveri bude súbor archive.tar.
Ak máte veľký objem súborov, zmeňte hodnotu „časového limitu“ času vykonania. Môžete to urobiť z php.ini alebo .htaccess.