【问题标题】:php ftp_put() not workingphp ftp_put() 不工作
【发布时间】:2015-04-22 13:03:08
【问题描述】:

我正在尝试将 csv 文件上传到我的 ftp 服务器 -

        $file = 'abc.csv';
        $remote_file = 'orders/abc.csv';

        $ftp_server = "myserver.com";

        $conn_id = ftp_connect($ftp_server, 34261);

        ftp_pasv($conn_id, false);

        $login_result = ftp_login($conn_id, "myorders", 'pwd');

        if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
            echo "successfully uploaded $file\n";
        } else {
            echo "There was a problem while uploading $file\n";
        }
        ftp_close($conn_id);

但是,文件没有被传输。目标文件夹具有读写权限。另外,我检查了FTP_ASCIIFTP_BINARY 方法。 abc.txt 在我项目的根文件夹中。但我无法追踪确切的错误。我应该如何调试代码?

感谢任何帮助。

谢谢。

【问题讨论】:

标签: php svn


【解决方案1】:

您应该提高PHP的错误报告级别,以便您可以看到警告和通知。

确保您可以使用常规 ftp 客户端从同一台机器进行相同的传输。

【讨论】:

    【解决方案2】:

    尝试了不同的解决方案,这对我来说非常适合 -

                $ch = curl_init();
                $localfile = 'abc.txt';
                $fp = fopen($localfile, 'r');
                curl_setopt($ch, CURLOPT_URL, 'ftp://myserver.com/abc.txt');
                curl_setopt($ch, CURLOPT_USERPWD, 'myorders:=pwd');
                curl_setopt($ch, CURLOPT_UPLOAD, 1);
                curl_setopt($ch, CURLOPT_INFILE, $fp);
                curl_setopt($ch, CURLOPT_PORT, 34261);
                curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
                curl_exec ($ch);
                $error_no = curl_errno($ch);
    
                curl_close ($ch);
    
                if ($error_no == 0) {
                    $error = 'File uploaded succesfully.';
                } else {
                    $error = 'File upload error.';
                }
                echo $error;
    

    【讨论】:

      猜你喜欢
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多