这是我的代码,但这不起作用这个代码中的问题。我有任何其他代码。我想从服务器使用ftp.i下载文件我在我的localhost中也在我自己的服务器上尝试此代码
$curl = curl_init();
$file = fopen("ftpfile/file.csv", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp:http://www.address.com/file.csv"); #input
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file); #output
curl_setopt($curl, CURLOPT_USERPWD, "myusername:mypassword");
curl_exec($curl);
答案 0 :(得分:0)
我猜测了两件事之一:fopen调用失败(并且你没有通过查看$file !== false
来检查它是否成功),或者_returntransfer AND _file的两次使用不是你的行为期望的。
returntransfer告诉curl在exec调用中返回检索到的数据,而不是直接将其输出到浏览器。我怀疑如果你做$data = curl_exec($curl); file_put_contents('ftpfile/file.csv', $data)
,你最终会得到一个正确的populatd文件。所以...要么删除returntransfer选项,要么取消整个_file业务,并使用_exec调用返回的内容自行输出文件。