将文件上传到ftp服务器的问题

时间:2015-10-29 07:24:08

标签: php curl ftp

我正在尝试将文件上传到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,另外两台机器,他们在那里工作。任何人都可以建议我解决这个问题吗?

非常感谢任何帮助。

感谢。

0 个答案:

没有答案