0

我想将 git master.zip 下载到 php 代码中的目录。我正在使用 cURL 来下载它,并且我拥有的代码可以正常工作,因此该方面可以正常工作。我想知道如何从一些主 URL 中获取正确的文件,例如

https://github.com/{group}/{project}/archive/master.zip

我收到的文件只有 1 个字节的信息,我想知道我哪里出错了。这是我用于下载的代码

<?php
//just an example repository
$url = 'https://github.com/octocat/Spoon-Knife/archive/master.zip';

$fh = fopen('master.zip', 'w');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FILE, $fh); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // this will follow redirects
curl_exec($ch);

print 'Attempting download of '.$url.'<br />';
if(curl_error($ch) == '')
    $errors = '<u>none</u>';
else
    $errors = '<u>'.curl_error($ch).'</u>';
print 'cURL Errors : '.$errors;

curl_close($ch);

fclose($fh);
?>

谢谢。

4

1 回答 1

2

如果allow_url_fopen在中设置为Onphp.ini可以简单地使用file_get_contents(). 在这种情况下不需要卷曲。我使用以下方法成功下载了master.zip我的一个存储库:

file_put_contents("master.zip", 
    file_get_contents("https://github.com/metashock/Hexdump/archive/master.zip")
);
于 2013-07-16T09:45:10.450 回答