我正在尝试将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_ASCII
和FTP_BINARY
方法进行了检查。 abc.txt在我项目的根文件夹中。但我无法跟踪确切的错误。我该如何调试代码?
感谢任何帮助。
感谢。
答案 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;