0

このコードを使用して PHP から ZIP ファイルを作成します ZIP は正しく作成されますが、zip をダウンロードするときに少し問題があります。

ブラウザでは、ZIP名は次のように表示されます

.._.._storage_temp_2013-09-03-1378245354.zip

私はマンタンだけが好きです

2013-09-03-1378245354.zip

ここで私が使用するコード:

$files = array($frente, $verso);
//$zipname = '../../storage/file.zip';
$zipname = "../../storage/temp/".date('Y-m-d')."-".time().".zip"; // Zip name

$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
    $new_filename = substr($file,strrpos($file,'/') + 1);
    $zip->addFile($file,$new_filename);
    //$zip->addFromString(basename($file),  file_get_contents($file));
}
$zip->close();

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

1 に答える 1

1

私はこの方法で解決しました:

$new_zipname = substr($zipname,strrpos($zipname,'/') + 1);
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$new_zipname);
于 2013-09-03T22:09:23.547 に答える