0

我需要使用 php 中的 ftp 函数将 csv 文件上传到实时服务器

我的代码

 $local_filename = $_SERVER['DOCUMENT_ROOT'].'/feeds/ftp/xyz.csv';
 $remote_filename = date('Y-m-d_').'data.csv';

 $ftp_server = 'sftp.myhost.com';
 $ftp_user_name = 'username';
 $ftp_user_pass = 'password';
 $conn_id = ftp_connect($ftp_server,22);
 // login with username and password
 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
 if (ftp_put($conn_id, $remote_filename, $local_filename, FTP_ASCII)) {
unlink($local_filename);
$res = true;
 } else {
$res = false;
 }
 ftp_close($conn_id);

我得到了这个:

 Warning: ftp_login() expects parameter 1 to be resource, boolean given in C:\wamp\www\fstp\index.php on line 11

如何解决此错误?

4

2 回答 2

1

看起来您正在尝试连接到 SFTP 服务器,请ftp_ssl_connect改用。

此外,您的代码不是很健壮。在继续之前,您应该检查ftp_connector的返回值。ftp_ssl_connect

于 2013-08-09T12:34:46.993 回答
1

ftp_connect()错误返回FALSE。这就是为什么您的错误消息说存在boolean given in第一个参数的原因。

检查以确保您的连接信息有效。将来,您还应该在尝试登录之前确保连接成功:

if($conn_id) {
    ...
}
于 2013-08-09T12:34:54.423 回答