php – 从zip中提取时损坏图像

我尝试使用curl从同一服务器中的一个虚拟主机下载一个zip文件到另一个虚拟主机. Zip文件包含* .PHP和* .jpg文件.

问题是:有时JPG文件会损坏,如下所示:

这是我的代码

$out = fopen(ABSPATH.'/templates/default.zip','w+'); 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_FILE,$out); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch,CURLOPT_URL,'http://share.example.com/templates/default.zip'); 
curl_exec($ch); 
curl_close($ch); 


$zip = new ZipArchive;
if ($zip->open(ABSPATH.'/templates/default.zip') === TRUE) 
{
    if($zip->extractTo(ABSPATH.'/templates'))
    {
        echo 'OK';
    }

    $zip->close();
} 

//$zip->close();

我不明白我的jpg发生了什么.我也尝试过使用pclzip.lib.PHP,但没有运气.如何解决这个问题呢 ?

提前致谢

最佳答案
您是否尝试过通过curl下载文件并正常解压缩(即没有PHP)?确定下载是导致问题还是解压缩.

您也可以尝试使用shell_exec替换其中一个部分(wget而不是curl,unzip而不是ZipArchive).我的意思是仅用于调试,而不是用于生产.

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...