从拉链中提取时损坏图像

Zul*_*rul 8 php nginx

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

问题是:有时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();
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

Zul*_*rul 1

最后我发现问题是什么。

我正在使用 Nginx Web 服务器,当我更改 nginx 配置文件时:

sendfile on;
Run Code Online (Sandbox Code Playgroud)

成为

sendfile off;
Run Code Online (Sandbox Code Playgroud)

我的形象不再腐败了。所以这不是 php 或 curl 问题。有趣的文章: http: //technosophos.com/node/172