【问题标题】:PHP ftp_put failsPHP ftp_put 失败
【发布时间】:2017-04-04 20:28:54
【问题描述】:

我通过 FTP 上传 XML 文件:

$ftp = "ftp";
$username = "username";
$pwd = "password";
$filename = $_FILES[$xyz][$abc];
$tmp = $_FILES['file']['tmp_name'];
$destination = "/Content/EnquiryXML ";

$connect = ftp_connect($ftp)or die("Unable to connect to host");
ftp_login($connect,$username,$pwd)or die("Authorization Failed");
echo "Connected!<br/>";              

if(!$filename)
{
    echo"Please select a file";
}

else
{
    ftp_put($connect,$destination.'/'.$filename,$tmp,FTP_ASCII)or die("Unable to upload");
    echo"File successfully uploaded to FTP";
}

我想将使用DOMDocument 创建的 XML 文件发送到 FTP 服务器,但我不能。

ftp_put 返回 false。

【问题讨论】:

    标签: php file-upload ftp


    【解决方案1】:

    ftp_put(或任何其他传输命令,如ftp_getftp_nlistftp_rawlistftp_mlsd)出现问题的最典型原因是 PHP 默认为活动模式。在 99% 的情况下,必须切换到被动模式才能使传输正常工作。使用ftp_pasv function

    $connect = ftp_connect($ftp) or die("Unable to connect to host");
    ftp_login($connect, $username, $pwd) or die("Authorization failed");
    // turn passive mode on
    ftp_pasv($connect, true) or die("Unable switch to passive mode");
    

    ftp_pasv 必须在 ftp_login 之后调用。之前调用它没有效果。

    另见:

    【讨论】:

      【解决方案2】:

      这行得通:

      // connect and login to FTP server
      $ftp_server = "host";
      $ftp_username = "username";
      $ftp_userpass = "password";
      $ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
      $login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
      $file ="$abc";
      
      // upload file 
      if (ftp_put($ftp_conn, "/$abc" , $file, FTP_ASCII)){
          echo "Successfully uploaded $file.";
      } else {
          echo "Error uploading $file";
      }
      
      // close connection
      ftp_close($ftp_conn); 
      

      【讨论】:

      • 什么有效?您的代码中没有ftp_pasv!并且不要使用 answer 来评论另一个答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 2015-09-11
      • 1970-01-01
      相关资源
      最近更新 更多