可能重复:
Warning: mysql_fetch_row() expects parameter 1 to be resource发送文件通过SSL的FTP自定义端口号
我以前,但以不同的方式问的问题。我正在尝试获取表单数据,编译成临时CSV文件并尝试通过SSL通过FTP发送给客户端(这是我感兴趣的解决方案的唯一途径,除非有解决方法,否则我无法做到这一点变化)。我曾尝试以下:
- FTP_CONNECT - 什么也没有发生,则 页面只是超时
- ftp_ssl_connect - 什么也没有发生, 页面只是超时
- curl库 - 同样的事情,给定的URL 它也给出错误。
我给出以下信息:
- FTPS服务器的IP地址
- TCP端口(1234)
- 用户名
- 密码
- 数据目录转储文件
- FTP模式:被动式
非常,非常基本的代码(我认为应该开始以最低的连接): 代码:
<?php
$ftp_server = "00.000.00.000"; //masked for security
$ftp_port = "1234"; // masked but not 990
$ftp_user_name = "username";
$ftp_user_pass = "password";
// set up basic ssl connection
$conn_id = ftp_ssl_connect($ftp_server, $ftp_port, "20");
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
echo ftp_pwd($conn_id); ///
echo "hello";
// close the ssl connection
ftp_close($conn_id);
?>
当我运行这个在SmartFTP客户端,一切都运行得很好。我只是无法让它使用PHP(这是必需的)。过去有没有人成功做过这件事?我会很乐意听到你的方法。
编辑 我在ftp_login之后添加了ftp_pasv()命令,如下所述,但仍然无法连接。我给出以下错误:
警告:ftp_login()预计参数 1是资源,布尔在 C中给出:\ XAMPP \ htdocs中\ test.php的第12行
警告:ftp_pasv ()预计参数 1是资源,在布尔 C中给出:\ XAMPP \ htdocs中\ test.php的线14上
警告:ftp_pwd()预计参数1 是资源,在布尔 C中给出: \ xampp \ htdocs \ test.php在线16
警告:ftp_close()期望 参数1是资源,布尔值 在C:\ xampp \ htdocs \ test中给出。php on line 20
您使用有效的SSL证书或自签名的SSL证书吗? Curl将尝试验证针对证书颁发机构的SSL证书。 SmartFTP您可以点击通过SSL证书验证。 PHP的'ftp_ssl_connect()'也可能试图验证SSL证书。 – 2010-05-26 00:05:18
@Geek Num 88 - 我使用通过Go Daddy获得的有效ssl Cert – JM4 2010-05-26 00:07:17
当您使用smartFTP时,ssl是否在端口20上工作?通常这是21端口。 – 2010-05-26 00:16:29