0

我正在使用ZipArchive类来生成和下载 zipFile。它必须在 php 5.2.14上工作。使用以下代码在php 5.3.x上完美运行:

$filename = "test.zip";
$zip = new ZipArchive();
$opened = $zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);

$zip->addFromString(...,...);
$zip->close();

header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/zip');
readfile("$filename");
exit();

php 5.2.14上,它会生成一个空的(0 字节大小)zip 文件。如果我删除exit()指令,它会生成一个损坏的 zip 文件。

解决方案?

4

1 回答 1

-1

我正在发布我的程序的一部分,它使用 ZipArchive 类

$this->licensePlate = "AA000AA";
$this->fileName = "path/to/file/tmp.zip";
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="Foto_'.$this->licensePlate.'.zip"');
readfile($this->fileName);

您确定您实际上是在将文件添加到 ZipArchive 中吗?您确定您实际上有权创建 ZipArchive 吗?

于 2015-10-22T10:03:01.467 回答