2015-05-06 36 views
0

我试图使用它来下载一个.tgz文件复制到以下几点:PHP下载文件损坏

$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 

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

+0

存档是tar而不是GZip存档。 –

+0

解压焦油没有Z,它是gzip压缩(压缩),仅: –

+2

http://stackoverflow.com/questions/15744023/how-to-extract-filename-tar-gz-file – Saty

回答

0

当我将代码移动到一个单独的.php文件时它工作

+0

似乎比在旧的PHP文件你呼应了一些字符,例如空白处在头部或开头前的空白处并退出呼叫。 – take