如何使用ftp从服务器下载文件以及如何将该文件保存在本地文件夹中

时间:2011-10-03 05:14:29

标签: php

这是我的代码,但这不起作用这个代码中的问题。我有任何其他代码。我想从服务器使用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);

1 个答案:

答案 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调用返回的内容自行输出文件。