php ftp_put()无效

时间:2015-04-22 13:03:09

标签: php svn

我正在尝试将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在我项目的根文件夹中。但我无法跟踪确切的错误。我该如何调试代码?

感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

尝试不同的解决方案,这对我来说非常有用 -

            $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;