Sådan oprettes en tar arkiv af filer og mapper (mapper) på serveren ved hjælp af et PHP script

En meget enkel løsning i mange situationer, til et ret alvorligt problem. I scenariet, hvor vi er nødt til at flytte et websted, hvis filer nummer et par tusinde, og web hosting udbyderen ikke giver os en backup system med arkivering eller anden lignende metode til at tillade os dette, FTP overførsel Det er en løsning, som vi ville tage meget lang tid.

Et PHP-script, der uploades til den server, der er vært for hjemmesiden, vil hjælpe os med at gøre det tar format arkivering af alle filer i en mappe.

Hvordan arkiverer jeg filer og mapper på en webserver ved hjælp af PHP-script?

Kopier scriptet nedenfor og læg det i en .php-fil på serveren. Eksempel: arhiva.php for at indeholde nedenstående script:


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

Forsigtig! Scriptet skal uploades til den mappe, hvor vi ønsker at arkivere mappen og de filer, der indeholder dem. For eksempel, hvis vi ønsker at arkivere alt indholdet af wp-content-mappen, al WordPress, vil filen, vi navngav arhiva.php, blive uploadet til / wp-content /.

Arkivet oprettes ved at få adgang til filen arhiva.php i browseren. url: http: ..web_name.tld / wp-content / archive.php, og i slutningen af ​​operationen på serveren vil arch.tar-filen være til stede.

Hvis du har en stor mængde filer, skal du ændre "timeout" -værdien af ​​udførelsestiden. Du kan gøre dette fra php.ini eller .htaccess.

Lidenskabelig med teknologi, jeg kan godt lide at teste og skrive tutorials om operativsystemer macOS, Linux, Windows, om WordPress, WooCommerce og konfigurer LEMP-webservere (Linux, NGINX, MySQL og PHP). jeg skriver videre StealthSettings.com siden 2006, og et par år senere begyndte jeg at skrive på iHowTo.Tips tutorials og nyheder om enheder i økosystemet Apple: iPhone, iPad, Apple Watch, HomePod, iMac, MacBook, AirPods og tilbehør.

Efterlad en kommentar