Wie ein tar-Archiv von Dateien und Verzeichnisse (Ordner) auf dem Server mit einem PHP-Skript zu erstellen

Eine sehr einfache Lösung in vielen Situationen, für ein ziemlich ernstes Problem. In dem Szenario, in dem wir eine Website verschieben müssen, deren Dateien ein paar tausend sind, und der Webhosting - Provider uns keine Backup-System mit der Archivierung oder anderen ähnlichen Verfahren zu ermöglichen es uns, dies, FTP-Übertragung Es ist eine Lösung, die wir sehr lange dauern würde.

Ein PHP-Skript, das auf den Server hochgeladen wird, der die Website hostet, würde uns dabei helfen tar-Format Archivierung aller Dateien in einem Ordner.

Wie archiviere ich Dateien und Ordner auf einem Webserver mithilfe eines PHP-Skripts?

Kopieren Sie das folgende Skript und speichern Sie es in einer PHP-Datei auf dem Server. Beispiel: arhiva.php enthält das folgende 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();
}
?>

Vorsichtig! Das Skript muss in den Ordner hochgeladen werden, in dem wir den Ordner und die Dateien, die sie enthalten, archivieren möchten. Wenn wir beispielsweise den gesamten Inhalt des wp-content-Ordners archivieren möchten, al WordPress, wird die Datei, die wir arhiva.php genannt haben, nach / wp-content / hochgeladen.

Das Archiv wird durch Zugriff auf die Datei arhiva.php im Browser erstellt. url: http: ..webname.tld / wp-content / archive.php und am Ende des Vorgangs auf dem Server wird die Datei archive.tar angezeigt.

Wenn Sie ein großes Dateivolumen haben, ändern Sie den "Timeout" -Wert der Ausführungszeit. Sie können dies über php.ini oder .htaccess tun.

Technikbegeistert, schreibe ich seit 2006 gerne auf StealthSettings.com. Ich habe reichhaltige Erfahrung in Betriebssystemen: macOS, Windows und Linux, sowie in Programmiersprachen und Blogging-Plattformen (WordPress) und für Online-Shops (WooCommerce, Magento, PrestaShop).

Wie man » Internet » Wie ein tar-Archiv von Dateien und Verzeichnisse (Ordner) auf dem Server mit einem PHP-Skript zu erstellen
Hinterlasse einen Kommentar