我正在尝试使用curl和php从ftp服务器下载文件,但我找不到任何文档可以帮助
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"ftp://$_FTP[server]");
curl_setopt($curl, CURLOPT_FTPLISTONLY, 1);
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
Run Code Online (Sandbox Code Playgroud)
我可以得到一个文件列表,但就此而言
小智 21
我的猜测是你的URL指向一个目录,而不是一个文件.您需要将CURLOPT_URL的完整URL提供给该文件.此外,如果您想下载文件,您可能希望将其保存在某个地方.
工作范例:
$curl = curl_init();
$file = fopen("ls-lR.gz", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://ftp.sunet.se/ls-lR.gz"); #input
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file); #output
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
curl_exec($curl);
curl_close($curl);
fclose($file);
Run Code Online (Sandbox Code Playgroud)
在curl_exec之前添加这些行:
$file = fopen("filename_to_save_to", "w");
curl_setopt($curl, CURLOPT_FILE, $file);
Run Code Online (Sandbox Code Playgroud)