jas*_*nmp 2 php zip ziparchive pclzip
目前想知道是否有人遇到过损坏的 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);
Run Code Online (Sandbox Code Playgroud)
要创建 zip 存档并强制下载 zip,最终将通过单击按钮来启动,但现在我只是尝试创建一个实际有效的存档。
无论我是否使用内置ZipArchive
类或使用PclZip
库,我都会遇到这个问题。
一件非常奇怪的事情是,当我通过 FileZilla 下载时,创建并放置在服务器上的 zip工作得很好,但如果我强制下载文件,所有的赌注都会消失。我在多个浏览器中进行了尝试,每个浏览器的结果都是相同的。
真烦人。我承认这是我第一次尝试实现此类功能,所以也许我遗漏了一些东西。我看过一些关于类似问题的帖子,但不幸的是这些解决方案对我不起作用。任何可以提供的帮助将不胜感激。
如果它在服务器上工作并且仅在下载时损坏 - 最有可能的是 PHP 与 ZIP 内容一起回显某些内容(注意?警告?),因此下载时它会损坏。尝试使用文本编辑器打开下载的 ZIP,并检查其开头或结尾是否有一些 PHP 输出。在 Linux 上它将是:
cat downloaded.zip | tail
cat downloaded.zip | head
Run Code Online (Sandbox Code Playgroud)