使用cURL将文件发布到安全文件夹(https://)

时间:2010-07-14 07:12:14

标签: php page-curl

问题是使用cURL将txt文件上传到安全文件夹(https://www.mydomain.com/myfolder/)。

我有一个相关的ftp详细信息来连接该文件夹。这是我的代码,但没有正确连接......

任何人都可以告诉我在这段代码上犯的错误。在上传文件时返回error_no:7

<?
if (isset($_POST['Submit'])) {
    if ($_FILES['upload']['name']!="") 
    {
        $localfile = $_FILES['upload']['tmp_name'];
        $newfile = $_FILES['upload']['name'];
        $ch = curl_init();
        $url = 'ftp://ftp_login:password@ftp.mydomain.com/myfolder/'.$newfile;
        $fp = fopen ($localfile, "r");
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_UPLOAD, 1);
        curl_setopt($ch, CURLOPT_INFILE, $fp);
        curl_setopt($ch, CURLOPT_FTPASCII, 1);
        curl_setopt($ch, CURLOPT_POST, 1 );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $newfile);
        curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

        $result = curl_exec($ch);
        echo curl_error($ch);
        echo $error_no = curl_errno($ch);
        curl_close($ch);
        //echo $result;

        if ($error_no == 0) 
        {
            $error = 'File uploaded succesfully.';
        } 
        else 
        {
            $error = 'File upload error.';
        }
    } 
    else 
    {
        $error = 'Please select a file.';
    }
}
?>

2 个答案:

答案 0 :(得分:0)

根据this list,错误代码7是

CURLE_COULDNT_CONNECT (7)

Failed to connect() to host or proxy. 

您确定服务器可以访问吗?你可以手动试试吗?

另外,我真的不知道你在这做什么。您正在建立ftp连接但添加POST字段。此外,这与https没有任何关系。你究竟想做什么?

答案 1 :(得分:0)

我不知道为什么你必须使用cURL,但PHP有自己的FTP functions,这将使生活更轻松。