我需要使用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
如何解决此错误?
答案 0 :(得分:1)
看起来您正在尝试连接到SFTP服务器,而是使用ftp_ssl_connect
。
此外,您的代码不是很强大。在继续之前,您应该检查ftp_connect
或ftp_ssl_connect
的返回值。
答案 1 :(得分:1)
ftp_connect()
会返回FALSE
。这就是您的错误消息表明第一个参数有boolean given in
的原因。
检查以确保您的连接信息有效。将来,您还应该在尝试登录之前确保连接成功:
if($conn_id) {
...
}