2017-11-16 4 views
0

zipファイルを生成するためにPHPスクリプトを作成しました。 rarソフトウェアを使用して抽出しても、rarソフトウェアでは抽出できない場合は正常に動作しています。ダウンロードしたzipファイルを解凍するためにrarソフトウェアをインストールするようにユーザーに依頼することはできません。PHPを使用して生成したzipファイルを解凍できません

私はどこに間違いを犯しているのか分かりません。 ここでは、zipファイルを開こうとするとエラーが表示されます。 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(); 

答えて

0

$ valid_filesの場合は、代わりに最後のglob'd配列、使用ベース名()()で、あなたの郵便番号は、実際にそれが無効ジップであるために引き起こして任意のファイルを追加していない可能性があります(ただし、それは希望zipファイルのサイズで表示されます)。

また、winrar/winzip/7zipを試して、返される内容を確認すると、Microsoftの内部ジップエンジンがzipを開くのに十分な最新のものではない可能性があります。

+0

ありがとう、私はちょうどページとHTMLの上から空白を削除し、それは完全に動作します。 –

関連する問題