我正在尝试使用PHP从FTP URL下载文件,该文件看起来像ftp://username:[email protected]/file.zip
。 该URL很好,因为我可以将该文件粘贴到任何浏览器中。 Fopen支持这种文件流式传输,在这里看到它:fopen。 这里是我的代码:通过FTP打开文件URL
[...]
$destination_folder = '../importmlsupload/';
$url = "ftp://user:[email protected]/file.zip";
$newfname = $destination_folder . basename($url);
$file = fopen($url, "rb");
if ($file) {
$newf = fopen($newfname, "wb");
while(!feof($file)) {
$s = fread($file, 1024);
fwrite($newf, $s, 1024);
}
}
if (!empty($file)) {
fclose($file);
}
if (!empty($newf)) {
fclose($newf);
}
问题是,我得到一个下载文件ampty。我做了一些验证,并得到了以下结果:文件已在服务器上成功创建,但while循环(!feof(...))在第一步之后结束。所以它读取1024个字节,并从循环中退出。换句话说,feof在第一个1024字节或读取后返回true。
使用HTTP URL TRYING成绩成功导入,但FTP URL不
难道我做错了什么?
谢谢我欣赏,如果我不会为这一个简单的解决方案,那么我会使用它们。 – Ervin 2013-02-21 10:32:51