我使用cURL创建了登录到此站点“https://svn.logicgenie.com:8090/svn/”,并且只显示了文件名。现在我需要从SVN下载特定文件。我怎样才能做到这一点?请帮我解释一下代码。
我使用了这个cURL脚本:
$url = "https://svn.logicgenie.com:8090/svn/cheapssls/trunk/admin.php";
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "firstuser:welcome");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$r = curl_exec($ch);
echo $r;
curl_close($ch);
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header('Cache-Control: private', false);
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="' . basename($url) . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen($r)); // provide file size
header('Connection: close');
用于下载文件的网址是“https://svn.logicgenie.com:8090/svn/cheapssls/trunk/admin.php”。只有文件名“admin.php”才会打开。它不能与其他文件名或链接一起使用。会出现什么问题?请帮帮我。
答案 0 :(得分:1)
如果要从SVN存储库下载文件,只需从存储库中签出文件即可。默认情况下,您在远程存储库上没有目录树,在svn存储库上没有任何/ trunk / path / to / something,因此您必须签出以获取某个文件。
$svn co http://path/to/your/file nameForYourFile
此命令将获取您的文件。如果您想获取没有历史记录或SVN文件的文件,只需输入:
$svn export http://path/to/your/file nameForYourFile
希望它有所帮助!