Zip Datei per FTP entpacken

Eine Zip Datei lässt sich mit Hilfe von PHP auf einem nur per FTP erreichbaren Server entpacken. Du brauchst also keinen SSH Zugriff zum Server um darauf eine Zip Datei entpacken zu können!

Kennst Du das? Du hast Probleme mit den Dateirechten nachdem Du eine Zip Datei lokal auf dem Rechner entpackt hast und die darin enthaltenen Dateien per FTP hochgeladen hast? Du musst also die Zip Datei unbedingt auf dem Server entpacken, hast aber keinen SSH Zugriff darauf?

MIt einem kleinen Trick und mit Hilfe von PHP kannst Du die Zip Datei ganz einfach per FTP hochladen und mit PHP entpacken.

Zip Datei auf dem Server per FTP entpacken

  1. Lade die dateiname.zip Datei per FTP auf den Server in ein Verzeichnis Deiner Wahl
  2. Erzeuge im selben Verzeichnis eine neue PHP Datei mit dem folgenden Inhalt:
    <?php
         $zip = new ZipArchive;
         $res = $zip->open('dateiname.zip');
         if ($res === TRUE) {
             $zip->extractTo('./');
             $zip->close();
             echo 'ok';
         } else {
             $file = "dateiname.zip";
             exec("unzip $file 2>&1", $out);
             print(implode("<br>", $out));
         }
    ?> 
    
  3. Speichere die PHP Datei.
  4. Führe nun die Datei via Webbrowser aus. Du bekommst die sonst übliche Anzeige der entpackten Dateien nun im Browser angezeigt.
  5. Fertig

Dank für die Lösung via Joomla Portal
und für die Erweiterung aus bjw via Janek

Edit:

Ich habe jetzt mal die Lösung von Janek (siehe Kommentare) mit in das Skript aufgenommen… Jetzt sind beide Möglichkeiten vorhanden und so sollte eine von beiden Versionen auf jeden Fall funktionieren! Vielen Dank dafür an Janek!

tar.gz per FTP entpacken

Das ganze lässt sich natürlich für beliebige per Shell ausführbaren Befehle verwenden! Du kannst also auch bspw. tar.gz per FTP entpacken:

<?php
    $file = "dateiname.tar.gz";
    exec("tar xvfz $file 2>&1", $out);
    print(implode("<br>", $out));
?> 

Letzte Änderung:

Der Autor

Viktor Dite aka Technickr

Hi, ich bin Viktor Dite - a.k.a. der Technickr - ein Digital Native seit 1995 und arbeite schon seit meiner Jugend mit Computern und dem Internet. Ich habe Informatik auf Diplom studiert und bin seit dem als Content- & Media-Creator, Affiliate, SEO, Social Media Manager und Advertiser unterwegs. Außerdem betreibe ich einen hochpreisigen E-Commerce-Shop, der sich auf Produkte zur Schlafoptimierung spezialisiert hat. Mein Leben besteht aus einer Hassliebe mit Technik, sodass ich hier auf mizine.de seit 2006 leidenschaftlich Artikel und seit 2019 auch Video über Tech-Gadgets verfasse und damit versuche Dir den Hass auf Technik zu ersparen und die Liebe für Technik zu gewinnen.

Kontakt