0

このコードを使用して、PHP ブラウザーでファイルを圧縮してダウンロードし、ZIP ダウンロードを開始しますが、破損しています。ブラウザを開こうとすると、フォーマット ファイルが不明または破損しています。

解決するヒントはありますか?

$files = array('1.png', '2.png');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=file.zip');
header('Content-Length: ' . filesize($zipfilename));
obclean();
flush();
readfile($zipname);
4

2 に答える 2

1

この行を機能するように変更しました:

から:

$zip->addFile($file);

に:

$zip->addFromString(basename($file),  file_get_contents($file));
于 2013-09-03T19:30:23.863 に答える