我正在尝试将文件上传到FTP服务器。这是我的代码 -
$csv_filename = "orders/"."alp"."-".date("Y-m-d_H-i",time()).".csv";
$filename = "alp"."-".date("Y-m-d_H-i",time()).".csv";
$fd = fopen ($csv_filename, "w");
file_put_contents($csv_filename, $data);
$ch = curl_init();
$localfile = $csv_filename;
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp.mydomain.com/orders/'.$filename);
curl_setopt($ch, CURLOPT_USERPWD, 'uname:pwd');
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_PORT, 21);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_error($ch);
此代码在1个月之前完美运行,我知道服务器上没有任何其他设置。但突然之间却出现了错误 -
Failed to connect to ftp.mydomain.com port 21: Connection timed out
为服务器打开FTP端口。此外,如果我检查使用相同的凭据登录Filezilla,在我的本地计算机上,它会抛出connection time out
错误。还检查了登录Filezilla,另外两台机器,他们在那里工作。任何人都可以建议我解决这个问题吗?
非常感谢任何帮助。
感谢。