douguan8940 2011-08-16 01:50
浏览 218

PHP Zip文件为空?

I have a script that creates a zip files from files in a certain directory. After Download, for a lot of users - the zip file is empty. However, for other users - the file isn't empty. Is it something I'm doing wrong?

header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$id.'.zip"');
header('Cache-Control: private');
ob_clean();
flush();
readfile("".$id.".zip");
exit;
  • 写回答

2条回答 默认 最新

  • douba1617 2011-08-16 01:56
    关注

    Better add some error control:

    $file = "{$id}.zip";
    if (!is_readable($file))
    {
        die('Not accessible.');
    }
    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename="'.$file.'"');
    header('Cache-Control: private');
    ob_clean();
    flush();
    readfile($file);
    exit;
    

    Additionally triple check your output buffering configuration vs. readfile.

    评论

报告相同问题?