2011-07-20 248 views
0

我是一名房地產經紀人/網頁設計師。我正在嘗試編寫一個腳本,從ftp服務器將zip文件下載到我的服務器。我的網站全部在php/mysql中。我遇到的問題是我無法真正登錄到FTP服務器。該文件通過我可用的鏈接提供,但訪問實際服務器不可用。這是我可以訪問的鏈接。如何從另一個ftp服務器下載文件到我的服務器

ftp://1034733:[email protected]/idx_fl_ftp_down/idx_ftmyersbeach_dn/ftmyersbeach_data.zip

php的正常功能,爲實現這個給我一個連接錯誤。 Php沒有權限訪問這個服務器...任何解決這個問題的解決方案對我來說都是一個救命的人。我期待每天使用cron作業來運行這個腳本,所以我不必親自下載這個文件並將其上傳到我的(godaddy)服務器,這是我當前的解決方案(不是一個好的,我知道!) 。

此外,我可以自己解開文件,因爲我已經做了一些使用php的zip擴展的工作,但任何有效的方法來做這個提示也將被讚賞。我正在尋找訪問名爲「ftmyers_data.txt」的zip歸檔文件的文本文件

+0

你確定你的腳本使用相同的連接屬性(我猜你是;-))?你有靜態IP嗎?也許目標服務器將此用戶的連接限制爲您的IP。 – acme

+0

您可以顯示您使用PHP FTP工具的嘗試嗎? – cwallenpoole

+0

我知道的php FTP工具似乎都需要用戶名和密碼。我沒有ftp服務器的任何登錄信息。我只有這個鏈接。我也不確定知識產權的情況,但我認爲在這種情況下這不重要。 – user853819

回答

0

您是否擁有可以運行PHP應用程序的服務器的shell訪問權限?如果是這樣,您可以使用shell腳本和ftp shell命令自動執行檢索。

+0

謝謝你。我有shell訪問,雖然我還沒有使用它。 curl解決方案給了我一個空的zip文件。我之前也嘗試過類似的捲曲腳本。我在想,我需要一個創造性的解決方法來完成這個任務! – user853819

+0

我明白了!看起來像shell訪問是要走的路!感謝Brian! – user853819

0

使用php_curl

$curl = curl_init(); 
$fh = fopen("file.zip", 'w'); 
curl_setopt($curl, CURLOPT_URL, "ftp://1034733:[email protected]/idx_fl_ftp_down/idx_ftmyersbeach_dn/ftmyersbeach_data.zip"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($curl); 
fwrite($fh, $result); 
fclose($fh); 
curl_close($curl); 

容易爲pi。 :)

+0

這隻給我一個空的zip文件:< – user853819

+0

使用shell訪問如果出現任何問題,它會打印出錯誤信息,幫助您解決問題。 – Perfection

+0

我試圖使用shell訪問和wget,但是我不斷收到'連接被拒絕'的問題。我可以在本地機器上用wget下載文件,但是在godaddy的服務器上沒有運氣。 (這將是我的託管計劃)。請幫忙! – user853819

相關問題