Hyvin yksinkertainen ratkaisu monissa tilanteissa melko vakavaan ongelmaan. Skenaariossa, jossa meidän on siirrettävä verkkosivusto, jonka tiedostot ovat muutamia tuhansia, eikä web-hosting-palvelujen tarjoaja tarjoa meille a varajärjestelmä arkistointiin tai muulla vastaavalla menetelmällä, jotta voimme tämän, FTP-siirto Se on ratkaisu, että me kestäisi hyvin kauan.
PHP-komentosarja, joka on ladattu palvelimelle, joka isännöi verkkosivustoa, auttaisi meitä tekemään sen tervan muodossa arkistointi kaikki tiedostot kansioon.
Kuinka arkistoidaan tiedostot ja kansiot Web-palvelimelle PHP-komentosarjan avulla?
Kopioi alla oleva komentosarja ja laita se .php-tiedostoon palvelimelle. Esimerkki: arhiva.php sisältää alla olevan komentosarjan:
<?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();
}
?>
Varovainen! Skripti on ladattava kansioon, johon haluamme arkistoida kansion ja ne sisältävät tiedostot. Jos esimerkiksi haluamme arkistoida wp-content-kansion kaiken sisällön, al WordPress, tiedosto, jonka nimesimme arhiva.php, ladataan kansioon / wp-content /.
Arkisto luodaan avaamalla selaimen tiedosto arhiva.php. URL: http: ..web_name.tld / wp-content / archive.php, ja palvelimen toiminnan lopussa archive.tar-tiedosto on läsnä.
Jos sinulla on suuri määrä tiedostoja, muuta suoritusajan "aikakatkaisu" -arvoa. Voit tehdä tämän osoitteesta php.ini tai .htaccess.