Etwas aus dem Zusammenhang gerissene Antwort, funktioniert aber sicherlich. Wenn Sie Apache + PHP in diesem FTP-Verzeichnis ausführen, laden Sie Ihre ZIP-Datei in diesen Ordner hoch und erstellen Sie extractor.php
:
$zip = new ZipArchive;
if ($zip->open('my_zip.zip') === TRUE) {
$zip->extractTo('/path/to/my/zip');
$zip->close();
echo 'ok';
}
und dann auf URL drücken, z. B.:http://example.com/extractor.php
bingo php wird diese Zip-Datei für Sie extrahieren.
Es ist nicht möglich, Dateien über eine FTP-Verbindung zu entpacken. FTP steht für „File Transfer Protocol“, das nur dazu gedacht ist, Dateien auf der Gegenseite zu übertragen und teilweise zu verwalten, nicht aber Befehle auszuführen. Um ein Archiv zu entpacken, müsste man ein Programm wie tar, bzip2 oder ähnliches ausführen, aber das geht nicht über eine FTP-Verbindung.
Sie benötigen eine weitere Sitzung, mit der Sie Befehle ausführen können, z. B. SSH. Oder Sie entpacken das Archiv auf Ihrem Rechner und übertragen den Inhalt per FTP, was bei vielen kleinen Dateien wegen des Overheads von FTP erheblich langsamer sein wird.
Sie können dies tun, indem Sie die FTP-Ressource mit curlftpfs
mounten :
curlftpfs ftp://ftp.server.org/ /path/to/mountpoint
dann
unzip /path/to/mount/test.zip