使用php从ftp服务器复制文件

时间:2018-01-10 00:57:20

标签: php csv

我试图用php提出一个复制代码。
我没有问题从共享文件夹复制,例如//xxx.xx.xxx/folder/filename.csv(远程计算机)。我有一些文件位于ftp服务器上。我怎么能这样做?

感谢任何帮助

$file = 'ftp://xx.xx.xxx.xx/Log/123.csv';
$newfile = 'spc/ems_files/123.csv';
if ( copy($file, $newfile) ) {
    echo "Copy success!";
} else {
    echo "Copy failed.";
}

其他信息

使用下面的代码,我使用php ftp函数连接到ftp 基于它说没能连接。我可以将它与像filezilla这样的FTP软件连接起来,没有多大问题。怎么了 ?

$ftp_server = "10.76.170.123"; 
$ftp = ftp_connect("10.76.170.123");
if (!$ftp) die('could not connect.');

// login
$r = ftp_login($ftp, "anonymous", "");
if (!$r) die('could not login.');

// enter passive mode
$r = ftp_pasv($ftp, true);
if (!$r) die('could not enable passive mode.');

// get listing
$r = ftp_rawlist($ftp, "Log");
var_dump($r);

2 个答案:

答案 0 :(得分:0)

看起来你正在做的事情应该是可能的,只要FTP服务器支持被动模式并且你使用正确的凭据。我会仔细检查FTP服务器上文件的路径是否正确。

http://php.net/manual/en/wrappers.php

http://php.net/manual/en/wrappers.ftp.php

以下是您可以尝试的其他一些解决方案......

答案 1 :(得分:0)

我解决了问题。默认ftp连接使用的电子邮件地址作为密码 我用它来成功连接到ftp

$ r = ftp_login($ ftp,“anonymous”,“anonymous@domain.com”);

所以我选择使用php FTP功能来完成下载任务