Una soluzione molto semplice in molte situazioni, per un problema piuttosto serio. Nello scenario in cui dobbiamo spostare un sito Web, i cui file numerano alcune migliaia e il provider di hosting Web non ci fornisce un sistema di backup con l'archiviazione o altro metodo simile a noi permettere questo, Trasferimento FTP Si tratta di una soluzione che richiede molto tempo.
Uno script PHP caricato sul server che ospita il sito Web ci aiuterebbe a farlo archiviazione formato tar di tutti i file in una cartella.
Come posso archiviare file e cartelle su un server web, utilizzando lo script PHP?
Copia lo script seguente e mettilo in un file .php sul server. Esempio: arhiva.php per contenere lo script seguente:
<?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();
}
?>
Attento! Lo script deve essere caricato nella cartella in cui vogliamo archiviare la cartella e i file che li contengono. Ad esempio, se vogliamo archiviare tutto il contenuto della cartella wp-content, al WordPress, il file che abbiamo chiamato arhiva.php verrà caricato in /wp-content/.
L'archivio viene creato accedendo al file arhiva.php nel browser. url: http: ..web.name.tld / wp-content / archive.php, e al termine dell'operazione sul server sarà presente il file archive.tar.
Se hai un grande volume di file, modifica il valore "timeout" del tempo di esecuzione. Puoi farlo da php.ini o .htaccess.