2011-04-15 27 views
1

我試圖通過FTP上傳帶CURL的文件。但我有用戶名的問題,在我的託管所有的FTP用戶名都是[email protected],所以我嘗試上傳時出現以下錯誤:CURL with @用戶名

捲毛錯誤:無法解析主機'site.com :[email protected]

下面是代碼:

 $ftpuser = '[email protected]'; 
     $ftppass = "blablabla"; 
     $ftppath = "mysite.com/"; 
     $ftpurl = "ftp://".$ftpuser.":".$ftppass."@".$ftppath; 

有人可以告訴我怎樣才能通過用戶名來解決這個問題。

回答

4

兩件事情:

  1. 您應該能夠通過使用urlencode到非安全字符轉換,以繞過@問題。
  2. 我相信,使用CURLOPT_USERPWD選項與curl_setopt來設置用戶名和密碼對會更好。

所以:

<?php 

$ftpuser = urlencode('[email protected]'); 
$ftppass = urlencode('blablabla'); 
$ftppath = 'mysite.com/'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'ftp://' . $ftppath); 
curl_setopt($ch, CURLOPT_USERPWD, $ftpuser . ':' . $ftppass); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec(); 
0

您能不能給捲曲的用戶名和密碼seperately,而不是所有的URL的一部分,這可能有助於更正確地理解數據。