Heim > Artikel > Backend-Entwicklung > Verwendung der PHP-ZipArchive-Klasse
Die Sache ist so: Bereiten Sie einen Batch-Download vor, legen Sie alle Ressourcen, die heruntergeladen werden müssen, in ein komprimiertes Paket und verwenden Sie die ZipArchive-Klasse
Code:
<code>$filename='test.zip'; $zip=new ZipArchive(); $zip->open($filename,ZipArchive::CREATE); $zip->addFile('favicon.ico'); $zip->close(); var_dump(fopen($filename,'r')); var_dump(filesize($filename)); </code>
Aber hier kommt das Problem
1. Sie müssen der Zip-Datei Dateien hinzufügen, bevor sie korrekt geöffnet werden kann. Wenn die Zip-Datei leer ist, erstellt das System sie tatsächlich nicht ist nicht der Fall.
Mein Test besteht darin, nach $zip->close() zu fopen.
3. Nach dem Testen kann der Parameter fopen oder filesize nicht $zip->filename sein.
Die Sache ist so: Bereiten Sie einen Batch-Download vor, fügen Sie alle Ressourcen, die heruntergeladen werden müssen, in das komprimierte Paket ein und verwenden Sie die ZipArchive-Klasse
Code:
<code>$filename='test.zip'; $zip=new ZipArchive(); $zip->open($filename,ZipArchive::CREATE); $zip->addFile('favicon.ico'); $zip->close(); var_dump(fopen($filename,'r')); var_dump(filesize($filename)); </code>
Aber hier kommt das Problem
1. Sie müssen der Zip-Datei Dateien hinzufügen, bevor sie korrekt geöffnet werden kann. Wenn die Zip-Datei leer ist, erstellt das System sie tatsächlich nicht ist nicht der Fall.
Mein Test besteht darin, nach $zip->close() zu fopen.
3. Nach dem Testen kann der Parameter fopen oder filesize nicht $zip->filename sein.
Bevor Sie $zip->addFile ausführen, stellen Sie zunächst fest, ob die zu komprimierende Datei vorhanden ist.
$zip->$zip kann nach dem Schließen nicht verwendet werden, daher kann $zip->Dateiname nicht verwendet werden.