繁体   English   中英

PHP ftp_put()无法正常工作

[英]php ftp_put() not working

我正在尝试将CS​​V文件上传到我的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的错误报告级别,以便可以看到警告和注意事项。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM