PHP解压非常大的文件

6

我在服务器上有一个zip文件。它由数千个小文件组成,大小为1.1GB。我没有shell或root访问权限,只能使用ftp和创建php文件。到目前为止,我尝试了exec和shell exec,但都没有成功。服务器运行的是free bsd。如何将文件解压缩到它所在的目录中?


你能编辑php.ini吗?我猜在PHP中解压它会花费一些时间并导致超时。 - Joachim Isaksson
我所拥有的只是FTP访问网站根目录的权限,而且PHP可能以受限用户身份运行。 - Ozzy
1
如果您无法更改超时时间,我认为在本地解压缩并将文件在FTP上未压缩发送到服务器是最简单的解决方案。反正您需要睡眠,对吧? :) - Joachim Isaksson
3个回答

5

如果您需要纯PHP解决方案,请尝试PclZip - 这不需要安装任何PHP扩展或要求shell访问权限 - 您只需要对想要提取文件的位置具有写入访问权限即可。


1
$filename = '/media/file.gz';

$unzipped_content = '';   
$zd = gzopen($filename, "r");
while ($zip_file = gzread($zd, 10000000)){
    $unzipped_content.= $zip_file;
}
gzclose($zd);

echo $unzipped_content;

0

感谢大家的建议。最终我修改了这个问题中的代码来解压文件。

使用PHP解压文件


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接