使用自定义端口号通过SSL发送文件FTP

时间:2010-05-25 23:52:06

标签: php ssl ssh ftps

  

可能重复:
  Warning: mysql_fetch_row() expects parameter 1 to be resource

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

  1. ftp_connect - 没有任何反应, 页面只是超时
  2. ftp_ssl_connect - 没有任何反应, 页面只是超时
  3. 卷曲库 - 同样的事情,给定URL 它也会出错。
  4. 我收到以下信息:

    • 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(这是必需品)。过去有没有人成功做到这一点?我很想听听你的做法。

    EDIT 我在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是资源,布尔值   在C:\ xampp \ htdocs \ test.php中给出   第20行

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

  1. SFTP:SSH FTP
  2. FTPS:基于SSL的FTP
  3. 要使FTPS正常工作,openssl模块必须是静态链接的(不作为动态扩展安装)。

    SFTP要求PECL ssh2扩展。