Schneller FTP Upload: Unzip mit PHP

Mit Hilfe von PHP und unzip kann der Upload vieler kleiner Dateien auf den Webspace erheblich beschleunigt werden.Voraussetzung ist allerdings, dass der unzip-Befehl auf dem Server zur Verfügung steht, und natürlich dass PHP-Skripte ausgeführt werden können. Ein Shell-Zugang ist dagegen nicht erforderlich.

So geht’s:

  1. Alle Dateien, die hochgeladen werden sollen, in ein ZIP-Archiv packen, z.B. upload.zip.
  2. Das Archiv per FTP auf den Webserver laden, in einen Ordner innerhalb des WWW-Root (also ein Ordner, in dem die Dateien „angesurft“ werden können).
  3. Im gleichen Verzeichnis legt man nun eine PHP-Datei an, beispielsweise mit dem Namen entpacken.php. In diese Datei schreibt man folgenden PHP-Code:
    <? system("unzip upload.zip"); ?>
    upload.zip ist dabei natürlich an den Dateinamen des Hochgeladenen ZIP-Archivs anzupassen.
  4. Nun ruft man die Datei entpacken.php per Browser auf, etwa so: http://meinedomain.tld/ordner/entpacken.php. Der Inhalt des ZIP-Archivs wird in den Ordner entpackt, in dem das Scrip liegt.
  5. Schließlich sollte man noch das ZIP-Archiv und die Datei entpacken.php löschen.

Ein Gedanke zu „Schneller FTP Upload: Unzip mit PHP

  1. Geht bei den meisten hostern nicht, da sie gerade funktionen wie system deaktivieren in der phpconfig, lässt sich aber per phpinfo(); prüfen.
    Gerade bei freehostern findet sich selten diese möglichkeit.

    Immer funktioniert ein script, das die dateien als Base64 Code recodiert, sie hochlädt und auf den server schreibt. B64 vergrößert leider die Dateien um etwa 1/3 so dass sich der Aufwand nur bei sehr vielen kleinen Dateien lohnt, da dort die ftp warteschlange bei single thread übertragung schon sehr lange dauert.

    Gruß Tron 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.