PHP下载的文件0 kb

时间:2015-07-06 20:12:49

标签: php download zip

我有一个脚本需要从它所在的同一文件夹下载现有的.zip文件。但是,无论我做什么,下载大小始终为0 kb,并且会触发“无效文件”警报。

我可以毫无问题地在Windows 7中打开.zip, filesize 会返回正确的值, is_readable 会返回true。我在代码所在的服务器上拥有完全权限,并且在我的本地计算机上工作

以下是我的代码。

<?php
ini_set('max_execution_time', 0);
ini_set("memory_limit","1024M");    
$numCatalog = "19482";
$zip_file_name = $numCatalog.'.zip';

if (!file_exists($zip_file_name)) {
    echo "File don't exist!";
    exit;
} elseif (!is_readable($zip_file_name)) {   
    echo "Can't read file!";
    exit;       
} elseif (filesize($zip_file_name) == 0) {
    echo "Invalid file!";
    exit;   
} else {
    ob_get_clean();
    header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
    header("Pragma: public");
    header("Expires: 0");
    header("Accept-Ranges: bytes");
    header("Connection: keep-alive");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-type: application/zip");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=\"".basename($zip_file_name)."\"");
    header('Content-Length: '.filesize($zip_file_name));
    header("Content-Transfer-Encoding: binary");
    ob_flush(); flush();
    readfile($zip_file_name);
    exit;
}
?>

我尝试了很多类型的标题,使用 fopen ,使用** echo self :: url_get_contents **,什么都没有用。 .zip超过700 Mb,没有 php.ini 更改有任何区别......

0 个答案:

没有答案