Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建了CURL.zip-won';t打开_Php_Curl - Fatal编程技术网

Php 创建了CURL.zip-won';t打开

Php 创建了CURL.zip-won';t打开,php,curl,Php,Curl,我正在尝试从另一台服务器的资产创建.zip文件,如下所示: $url = 'http://thindery.com/jsfiddle/butterfly.jpg'; $path = 'butterfly.zip'; $fp = fopen($path, 'w'); $ch = curl_init($url); curl_setopt($ch, CURLOPT_FILE, $fp); $data = curl_exec($ch); curl_close($ch); fclose($fp)

我正在尝试从另一台服务器的资产创建.zip文件,如下所示:

$url  = 'http://thindery.com/jsfiddle/butterfly.jpg';
$path = 'butterfly.zip'; 
$fp = fopen($path, 'w'); 
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp); 
$data = curl_exec($ch); 
curl_close($ch);
fclose($fp);
运行脚本后,我会在服务器上看到.zip文件。当我下载.zip并尝试在Windows计算机上打开它时,出现以下错误:

Windows无法打开文件夹 压缩(压缩)文件夹“butterfly.zip”无效

有人知道它为什么打不开吗

更新


我理解我的错误。我可以看到我的原始代码是如何将.jpg保存为.zip,而不是将.jpg放入存档(压缩)文件夹中的。

如果我理解正确,您正在尝试将.jpg文件作为.zip打开。尝试使用图像查看器打开此zip文件。

如果我理解正确,则您正在尝试以.zip格式打开.jpeg文件。尝试使用图像查看器打开此zip文件。

您正在下载JPEG文件(.jpg),并将其另存为.zip文件。当然,如果您尝试将此ZIP文件作为存档打开,它将失败,因为该文件的内容是图像,而不是存档。如果要实际创建包含此jpg图像的zip存档,则需要下载图像,然后使用进行压缩。

您正在下载JPEG文件(.jpg),并将其保存为.zip文件。当然,如果您尝试将此ZIP文件作为存档打开,它将失败,因为该文件的内容是图像,而不是存档。如果您想实际创建包含此jpg图像的zip存档,则需要下载该图像,然后使用进行压缩。

您真的想这样做:

// if you have fopen wrappers forget about curl. way to complex for something simple
$jpg = file_get_contents('http://thindery.com/jsfiddle/butterfly.jpg');
$jpgName ='butterfly.jpg';

//use the built in zip functionality in php
$zip = new ZipArchive();
if ($zip->open("c:\temp\$jpgName.zip" , ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open c:\temp\$jpgName.zip\n");
}
$zip->addFromString($jpgName, $jpg);
$zip->close();

你真的想这样做:

// if you have fopen wrappers forget about curl. way to complex for something simple
$jpg = file_get_contents('http://thindery.com/jsfiddle/butterfly.jpg');
$jpgName ='butterfly.jpg';

//use the built in zip functionality in php
$zip = new ZipArchive();
if ($zip->open("c:\temp\$jpgName.zip" , ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open c:\temp\$jpgName.zip\n");
}
$zip->addFromString($jpgName, $jpg);
$zip->close();

我很困惑。我以为它会自动将文件归档。谢谢你把这件事弄清楚,我很困惑。我以为它会自动将文件归档。谢谢你的澄清。只是将jpg重命名为zip并不能使其成为zip…?只是将jpg重命名为zip并不能使其成为zip。。。?