Cum sa creezi o arhiva .TAR a fisierelor si directoarelor (foldere) pe server, folosind un script PHP

O rezolvare foarte simpla in multe situatii, pentru o problema destul de serioasa. In scenariul in care am avea de mutat un website, ale carui fisiere numara cateva mii, iar providerul de web hosting nu ne asigura un sistem de backup cu arhivare sau alta metoda similara care sa ne permita acest lucru, transferul prin FTP este o solutie care ne-ar ocupa foarte mult timp.

Un script PHP urcat pe serverul care gazduieste website-ul ne-ar ajuta sa facem arhivarea in format .TAR al tuturor fisierelor dintr-un folder.

Cum arhivam  fisiere si foldere pe un web server, folosind in script PHP?

Copiem scriptul de mai jos si il punem intr-un fisier .php pe server. Exemplu: arhiva.php sa contina scriptul de mai jos:

[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();
}
?>

[/php]

Atentie! Scriptul trebuie urcat in folderul in care dorim sa facem arhivarea folderul si fisierelor care le contine. De exemplu, daca dorim sa arhivam tot continutul folderului wp-content, al WordPress, fisierul numit de noi arhiva.php va fi urcat in /wp-content/.

Arhiva se creeaza accesand in browser fisierul arhiva.php. url: http:..nume_website.tld/wp-content/arhiva.php, iar la finalul operatiunii pe server va fi prezent fisierul archive.tar.

In cazul in care aveti un volum mare de fisiere, schimbati valoare de “timeout” a timpului de executie. Puteti face acest lucru din php.ini sau din .htaccess.

Cum sa creezi o arhiva .TAR a fisierelor si directoarelor (foldere) pe server, folosind un script PHP

About the author

Stealth

Pasionat de tot ce inseamna gadget si IT, scriu cu placere pe stealthsettings.com din 2006 si imi place sa descopar alaturi de voi lucruri noi despre calculatoare si sistemele de operare macOS, Linux, Windows, iOS si Android.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.