Php 如何使用CURL请求从url获取zip文件?

Php 如何使用CURL请求从url获取zip文件?,php,curl,directory,zip,php-curl,Php,Curl,Directory,Zip,Php Curl,我想使用PHP CURL请求获取zip文件,但当我在浏览器中点击该URL时,它会这样打印。 我用这个作为参考 与此类似,我创建了解压缩文件夹var/www/html/extracted,我的文件apth是/var/www/html/data.php,但它没有创建zip文件。 我也对该文件夹应用了适当的权限,但没有成功 我想得到那个特定文件夹中的zip文件 我的代码是 <?php $url = "https://wordpress.org/latest.zip"; /

我想使用PHP CURL请求获取zip文件,但当我在浏览器中点击该URL时,它会这样打印。

我用这个作为参考

与此类似,我创建了解压缩文件夹var/www/html/extracted,我的文件apth是/var/www/html/data.php,但它没有创建zip文件。 我也对该文件夹应用了适当的权限,但没有成功

我想得到那个特定文件夹中的zip文件

我的代码是

<?php 
$url = "https://wordpress.org/latest.zip"; // URL of what you wan to download
$zipFile = "wordpress.zip"; // Rename .zip file
$extractDir = "extracted"; // Name of the directory where files are extracted
$zipResource = fopen($zipFile, "w");

// Get The Zip File From Server
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_FILE, $zipResource);

$page = curl_exec($ch);

if(!$page) {
    echo "Error :- ".curl_error($ch);
}

curl_close($ch);

/* Open the Zip file */
$zip = new ZipArchive;
$extractPath = $extractDir;

if($zip->open($zipFile) != "true"){
    echo "Error :- Unable to open the Zip File";
} 

/* Extract Zip File */
$zip->extractTo($extractPath);
$zip->close();

die('Your file was downloaded and extracted, go check.');
?>


非常感谢您的帮助。

向我们展示您的实际代码,而不仅仅是指您“用作参考”的内容。

请永远!此外,请解释您想要“获取”zip文件的实际含义。你提到的代码应该会自动提取服务器上的zip文件,但从你的屏幕截图来看,你似乎看到了它的内容,所以你一定是故意输出的,我想?更新了我的代码@cbroe该代码在我的本地机器上运行得很好(在我稍微增加10秒的超时时间后,这似乎还不够。)我得到“你的文件已下载并解压缩,请检查。”,它创建了
提取的
文件夹,WordPress文件在其中。请共享您的代码,提取的文件夹是自动创建的,而不是手动创建的。我复制并粘贴了您的代码,首先给了我一个超时错误,所以我将其从10增加到100。我没有预先手动创建任何文件夹,但随后再次创建n我在Windows上进行了测试,因此在这种情况下,文件权限没有太大问题。是否启用了正确的错误报告,是否检查了日志?如果是任何类型的权限问题,则其中可能有相应的条目。(尽管权限问题仍然无法解释为什么浏览器中会显示二进制zip内容。)