使用curl php将文件从远程文件服务器下载到本地计算机

时间:2013-10-20 14:05:04

标签: php file curl download remote-server

我正在尝试创建一个链接,将文件从远程文件服务器下载到本地计算机。 现在我是我在stackoverflow中找到的Curl代码。该代码使用localhost C驱动器的文件路径。但是使用url远程文件失败了。 URL有什么问题?评论的URL有效。代码:

$url  = 'file://v1/cos/EA QA/Test Results/SS/4.6.1/CD06/SS 4.6.1 TestResults.xlsm';
// $url  = 'file:///C:/xampp/htdocs/qrd/test/SS 4.6.1 TestResults.xlsm';
$path = 'C:/test/SS 4.6.1 TestResults.xlsm';     
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec ($ch);
curl_close ($ch);
if ($data == FALSE){
    echo "Failed in 1.";
} else {
    $file = fopen($path, "wb");
    fputs($file, $data);
    echo "hi1";
}
fclose($file);

2 个答案:

答案 0 :(得分:0)

它不起作用,因为

file://v1/cos/EA QA/

不是有效路径,看起来像网络路径。尝试将文件上传到网络服务器并对其进行测试或提供适当的ip address网络。

您的远程服务器应该有一个IP地址。试试吧 http://192.159.23.2XX/TestResults.xlsm作为您的网址

答案 1 :(得分:0)

您也可以使用file_get_contents

   $data = file_get_contents('C:/test/SS 4.6.1 TestResults.xlsm');

或者,如果您真的想使用CURL,您必须将文件保存在有效的http协议中。

  e.g $url = 'http://192.159.23.2XX//TestResults.xlsm';