2010-07-14 48 views
0

問題是使用cURL將txt文件上傳到受保護的文件夾(https://www.mydomain.com/myfolder/)。使用cURL將文件發佈到受保護的文件夾(https://)

我有一個相關的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:[email protected]/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.'; 
    } 
} 
?> 
+0

FTP和HTTPS是不同的協議。 FTP本身不支持SSL。 – Borealid 2010-07-14 08:01:58

回答

0

this list,錯誤代碼7

CURLE_COULDNT_CONNECT (7) 

Failed to connect() to host or proxy. 

你確定服務器是否可達?你可以嘗試手動嗎?

另外,我並沒有真正明白你在這裏做什麼。您正在建立ftp連接,但添加了POST字段。另外,這與https無關。你究竟想要做什麼?

0

我不知道爲什麼你必須使用cURL,但PHP有自己的FTP functions這將使生活變得更容易。