我是新来的,所以请耐心等待。我的问题是,当我创建一个zip文件,并将其作为下载发送时,它会以某种方式被破坏。创建的文件本身非常好。我尝试制作一个单独的PHP文件,其中包含测试它是否有效所需的最低PHP代码,并且下载时没有损坏。这让我相信,页面上使用的GET方法也会以某种方式搞乱下载头。如果有帮助,这是我的代码:
<?php
$phar = new PharData('./Files/Toolbox.zip');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/Files/Toolbox');
chmod("./Files/Toolbox.zip", 0777);
$file='./Files/Toolbox.zip';
if (headers_sent()) {
echo 'HTTP header already sent';
} else {
if (!is_file($file)) {
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
echo 'File not found';
} else if (!is_readable($file)) {
header($_SERVER['SERVER_PROTOCOL'].' 403 Forbidden');
echo 'File not readable';
} else {
header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=\"".basename($file)."\"");
readfile($file);
exit;
}
}
?>
此外,如果有帮助,网址会如下所示: http://website.com/download.php?key=DOWNLOADKEY