PHP下载文件损坏

时间:2015-05-06 08:02:20

标签: php

我正在尝试使用以下内容下载.tgz文件:

$file = '/var/www/upload/myfile.tgz';

if (file_exists($file))
{
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}

问题在于,当我尝试提取下载的文件时  使用tar给出了以下错误:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

注意:尝试提取原始文件时不会发生此错误。

1 个答案:

答案 0 :(得分:0)

当我将代码移动到单独的.php文件

时,它工作正常