2017-11-16 2 views
0

Ich habe das PHP-Skript geschrieben, um die ZIP-Datei zu erzeugen. es funktioniert gut, wenn ich Rar-Software verwende, um es zu extrahieren, aber nicht mit Rar-Software extrahieren. Ich kann Benutzer nicht bitten, Rar-Software zu installieren, um heruntergeladene Zip-Datei zu extrahieren.Es konnte keine Zip-Datei extrahiert werden, die mit Hilfe von PHP generiert wurde

Ich weiß nicht, wo ich Fehler begehe. Hier habe ich einen Screenshot angehängt, den ich bekomme, wenn ich versuche, die Zip-Datei zu öffnen. Opening zip file without using any software

// Here is code snippet 
$obj->create_zip($files_to_zip, $dir . '/download.zip'); 

// Code for create_zip function 
//create the archive 
$zip = new ZipArchive(); 
if ($zip->open($destination, $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { 
    return false; 
} 
//add the files 
foreach ($valid_files as $file) {  
    $filearr = explode('/', $file); 
    $zip->addFile($file, end($filearr)); 
} 
$zip->close(); 

Antwort

0

Wenn $ valid_files ist ein glob'd Array, Verwendung Basisnamen() anstelle von end(), könnte Ihr zip nicht tatsächlich alle Dateien hinzugefügt verursacht es eine ungültige Reißverschluss sein (aber das wäre in der Größe der Zip-Datei sichtbar sein).

Versuchen Sie auch winrar/winzip/7zip und sehen Sie, was sie zurückgeben, Microsoft interne Zip-Engine möglicherweise nicht auf dem neuesten Stand genug, um die Reißverschlüsse zu öffnen.

+0

Danke, ich habe nur weiße Leerzeichen vom oberen Rand der Seite und HTML entfernt und es funktioniert perfekt. –

Verwandte Themen