2012-10-07 80 views
0

我需要從ftp位置選擇一個.xml文件內容。使用PHP的ftp_connect

$source = "TEST.xml"; 

$target = fopen("TEST2.xml", "w"); 

我的FTP的IP是170.201.226.120

我嘗試了這些

  1. $conn = ftp_connect(ftp."170.201.226.120") or die("Could not connect");

  2. $loc="170.201.226.120";

    $conn = ftp_connect(ftp.$loc) or die("Could not connect");

  3. $server=gethostbyaddr("170.201.226.120");

    $conn = ftp_connect(ftp.$server) or die("Could not connect");

但是,所有這些顯示錯誤或無法連接。

我需要執行這些步驟由上述follwed,

ftp_login($conn,"username","password"); 
ftp_fget($conn,$target,$source,FTP_ASCII); 

請任何人能幫助我嗎?

回答

0

只要通過主機。不要試圖將其附加到ftp常數,無論如何。

$conn = ftp_connect("170.201.226.120") or die("Could not connect"); 
+0

嗨昆汀,我試了一下。但問題依然存在。我需要從控制面板添加ftp用戶和帳戶嗎?現在使用這些細節,我可以登錄到位置並上傳文件。 – Anoop

0

刪除這個詞:

「FTP」。你到處添加。

0

你的嘗試太複雜了:-)想想更簡單!

的FTP程序的PHP手冊中明確規定的語法爲FTP_CONNECT命令:

resource ftp_connect (string $host [, int $port = 21 [, int $timeout = 90 ]]) 

所以乾脆試試這個:

$conn = ftp_connect("170.201.226.120") or die("Could not connect"); 

這是所有有。

0
// Set up a connection 
$conn = ftp_connect("170.201.226.120"); 

// Now Login 
if (ftp_login($conn, $username, $password)) 
    echo "Success"; 
    ftp_fget($conn,$target,$source,FTP_ASCII); 
else 
    echo "Could not Connect"; 

如果仍然出現錯誤,請檢查您的FTP端口號和修改第一行:

$conn = ftp_connect("170.201.226.120", $port_number); 
+0

從文檔:主機:FTP服務器地址。這個參數不應該有任何結尾的斜槓,不應該以ftp://作爲前綴。 – Quentin

+0

哦,是的......習慣的力量......「ftp://」被附加到頂級域名。一個IP不需要任何裝飾。感謝您指出了這一點。答案已更正。 –

+1

不需要。「ftp_connect」的第一個參數是主機,它不是一個URI,所以即使你使用的是主機名而不是ip地址,它也不應該有前綴「ftp://」。它肯定不應該「附加到頂級域名」,因爲.com.ftp://會很荒謬。 – Quentin