大佬教程收集整理的这篇文章主要介绍了php-打开.gz文件并读取/替换,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我找不到所需的答案,所以希望您了解我的要求.
我需要能够(从远程网站)打开tar.gz文件,读取文件并在我的网站上复制/替换这些文件.我一直在尝试此代码(以及无数其他代码):
$zipFile= 'http://awebsite.com/file.tar.gz';
$dir = 'myfolder';
$zp = @gzopen($zipFile, "r");
$fp = @fopen($dir, "w");
while(!@gzeof($zp)) {$String = @gzread($zp, 4096); @fwrite($fp, $String, strlen($String));}
@gzclose($zp);
@fclose($fp);
所有人似乎都提出了各种错误.我似乎能够读取zip文件,但实际上无法将内容保存到我的网站.
感谢您的任何帮助.
克里托
解决方法:
尝试这个:
<?PHP
$zipFile= 'http://awebsite.com/file.tar.gz';
$dir = 'myfolder';
$zp = @gzopen($zipFile, "r");
$fp = @fopen("temp.tar", "w");
while(!@gzeof($zp)) {$String = @gzread($zp, 4096); @fwrite($fp, $String, strlen($String));}
@gzclose($zp);
@fclose($fp);
exec('tar xf temp.tar --overwrite --directory='.$dir);
?>
更新:
这是不使用临时文件的解决方案,而Tar处理gzip解压缩本身:
<?PHP
$zipFile= 'http://awebsite.com/file.tar.gz';
$dir = 'myfolder';
$zp = @fopen($zipFile, "r");
$fp=popen('tar xzf - --overwrite --directory='.$dir,'w');
while(!@feof($zp)) {$String = @fread($zp, 4096); @fwrite($fp, $String, strlen($String));}
@fclose($zp);
@fclose($fp);
?>
以上是大佬教程为你收集整理的php-打开.gz文件并读取/替换全部内容,希望文章能够帮你解决php-打开.gz文件并读取/替换所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。