使用Curl with PHP从FTP下载文件

时间:2012-04-29 15:51:16

标签: php curl ftp libcurl

我正在尝试使用Curl从FTP服务器下载文件。我可以将URL粘贴到我的浏览器中并且下载得很好。问题是,使用Curl和PHP,我相信FTP服务器正在进行重定向,而Curl不会跟随。我收到错误消息“服务器拒绝您更改到给定目录”。

编辑:我在代码中有%2f并删除了它。这是先前的测试。

我的代码是:

$curl = curl_init();
$file = fopen("temp.zip", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://idx.living.net/idx_fl_ftp_down/idx_naples_dn/naples_data.zip");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file);
curl_setopt($curl, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_SSL);
curl_setopt($curl, CURLOPT_USERPWD, "myusername:mypassword");
curl_exec($curl);
echo curl_error($curl);

任何方法都可以强制Curl按照浏览器下载文件的方式运行?

1 个答案:

答案 0 :(得分:0)

我知道这不应该按照应该的方式回答你的问题(使用curl)。 但这是一个非curl代码,用于在ftp服务器上下载文件。

Simple lambdas in one line

注意:

  1. ftp_ssl_connect()不适用于sFTP。要在PHP中使用sFTP,请参阅ssh2_sftp()。
  2. FTP服务器地址参数不应包含任何尾部斜杠,也不应以ftp://作为前缀。