2011-04-05 40 views
0

嗨,我想下载一个tbz格式的文件。所以,我首先需要下载TBZ文件,所以我第一次读它,使用下面的代码我的服务器上写入到本地目录:在PHP中读写tbz文件

ini_set("memory_limit","15M"); 
set_time_limit(1600); 

if($result){ 
$write_handle=fopen("temp/$filename", 'a'); 
while (!feof($handle)) { 
    $contents = fread($handle, 8192); 
    echo "<pre>"; 
    echo strlen($contents); 
    echo time()-$time_start; 
    echo "</pre>"; 
    fwrite($write_handle, $contents); 
} 
echo $contents; 
fclose($write_handle);  
} 

而且文件是存在的,但是当我尝试到Linux的焦油-xjf命令它上面写着: Unexpected EOF in archive。那么会有什么问题?

我实际上需要使用tbz文件里面的文件,所以有办法。文件大小几乎超过1GB。

+0

有什么更多的需要读取和写入tbz文件?或者它应该像正常的文本文件一样好? – Hafiz 2011-04-05 00:47:24

回答

1

Hmz,你只给一部分代码,但是读你的问题并考虑你说: 文件大小几乎超过1GB。 我要问..

是否使用set_time_limit()因此脚本持续足够长的时间和memory_limit in php.ini因此脚本有足够的内存?

+0

ini_set(“memory_limit”,“15M”); set_time_limit(1600); – Hafiz 2011-04-05 00:44:10

+0

我已经更新了代码,并且这似乎不是内存限制问题,因为文件已上传到服务器上,并且其大小已超过预期的1GB – Hafiz 2011-04-05 00:45:14

+0

因此,时间限制和内存的工作原理是什么?我发现ini_set有时可能会出错(尤其是memory_limit)。您确定错误报告没有关闭,并且会显示任何其他错误? – Khez 2011-04-05 00:54:18