0

可能重复:
警告:mysql_fetch_row() 期望参数 1 是资源

我以前问过这个问题,但方式不同。我正在尝试获取表单数据,编译成临时 CSV 文件并尝试通过 SSL 上的 FTP 发送到客户端(这是我有兴趣听取解决方案的唯一途径,除非有解决方法,否则我无法做到变化)。我尝试了以下方法:

  1. ftp_connect - 什么也没发生,页面只是超时
  2. ftp_ssl_connect - 什么也没发生,页面只是超时
  3. 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 是资源,布尔值在第 12 行的 C:\xampp\htdocs\test.php 中给出

警告:ftp_pasv() 期望参数 1 是资源,布尔值在第 14 行的 C:\xampp\htdocs\test.php 中给出

警告:ftp_pwd() 期望参数 1 是资源,布尔值在第 16 行的 C:\xampp\htdocs\test.php 中给出

警告:ftp_close() 期望参数 1 是资源,布尔值在第 20 行的 C:\xampp\htdocs\test.php 中给出

4

2 回答 2

0

您的 PHP 安装中是否启用了 FTP?使用 phpinfo(); 回显您的安装信息。应该有一个 ftp 部分,在表格中显示“FTP 支持 - 已启用”。

于 2010-05-26T00:04:52.920 回答
0

首先,您需要找出您使用的安全 FTP,

  1. SFTP:SSH FTP
  2. FTPS:基于 SSL 的 FTP

要使 FTPS 工作,openssl 模块必须是静态链接的(不是作为动态扩展安装的)。

SFTP 需要 PECL ssh2 扩展。

于 2010-05-26T00:21:21.360 回答