目前想知道是否有人遇到损坏的zip文件。我目前正在使用以下代码
// Multiple File Downloads
require_once('includes/pclzip.lib.php');
$archive = new PclZip('archive.zip');
$v_list = $archive->create('robots.txt,index.php');
if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}
$file_url = 'archive.zip';
header('Content-Type: application/zip');
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url);
要创建一个zip存档并强制下载zip,最终会通过点击按钮启动,但现在我只是想创建一个实际可用的存档。
无论我是否使用内置ZipArchive
类或使用PclZip
库,我都会遇到此问题。
有一件事很奇怪,当我通过FileZilla下载时,在服务器 上创建和放置的拉链正常 但如果我强行下载文件,所有投注都会被取消。我已尝试过多个浏览器,每个浏览器的结果都相同。
真烦人我承认这是我第一次尝试实现这种功能,所以也许我错过了一些东西。我已经看到了类似问题的几个主题,但不幸的是,这些解决方案对我不起作用。我们非常感谢您提供的任何帮助。
答案 0 :(得分:3)
如果它在服务器上运行并且仅在下载时损坏 - 很可能 PHP正在回应(通知?警告?)以及ZIP内容,因此它已被破坏何时下载。尝试使用文本编辑器打开下载的ZIP ,并在开头或结尾检查一些PHP输出。在linux上它将是:
cat downloaded.zip | tail
cat downloaded.zip | head