我使用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文件。
解决方案?
我发布了我的程序使用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吗?