2011-10-17 80 views
0

我不知道這是否可能。 我有一個包含約250個鏈接的網頁,每個鏈接都在一個單獨的行上。我最初的想法是使用fopen()來獲取文件,但它沒有多大幫助,因爲它需要提供文件的名稱來讀取/下載。PHP中的文件下載腳本

但我想下載垂直列爲鏈接,一個網頁上像這樣的文件:

enter image description here

這些都是可點擊的鏈接 - 把它想鏈接到文件的目錄瀏覽。 有沒有辦法循環瀏覽該頁面上的鏈接並下載它們指向的文件?

總共大約有250個鏈接。 感謝您的協助。

+4

向我們展示網頁的HTML源代碼。或者至少是結構。 – Blender

+1

您是否試圖將其作爲一次性使用,或者您是否會定期使用相同的腳本從這樣的頁面下載? – minboost

+0

結合使用[DOM解析器](http://php.net/manual/en/class.domdocument.php)和['file_get_contents()'](http://uk.php.net/manual/) en/function.file-get-contents.php)這應該是相當容易的... – DaveRandom

回答

0

謝謝大家的建議,我最終寫了一個小腳本,做了我想要的。 如果有人關心它,它會發布它。

0

我覺得你想找的功能file();

此方法返回一個文件的每一行的數組。

+0

你一直在改變你的問題..你編輯了3次。我該如何跟上你的問題?我會因爲你而失去積分。 –

+0

我沒有改變這個問題,我只發佈了這個文件的樣子。此外,你的解決方案根本沒有幫助。 –

+0

那麼,作爲這個問題的實際答案... 你需要一個XML或HTML解析器來解析文件和文件夾,以獲取文件的位置。 –

0

結帳這個PHP DOM解析器: http://simplehtmldom.sourceforge.net/

它有權提取所有網址的主頁上的例子。你所要做的只是稍微修改它,以便將URL保存到數組而不是回顯。

一旦你得到這個URL的數組,只需使用fopen()來獲取文件並使用fwrite()將它保存在服務器上的某個地方。

+0

感謝您的指針,將放棄它。 –

+0

@海倫你一天前的指針完全一樣。 –

2

PHP可能是矯枉過正的。如果文件被預先命名的(他們似乎的確如此),你可以用任何的wget例如快速地完成:

wget http://example.com/folder/file{1..1000}.png 

或捲曲如:

curl -O http://example.com/file[1-1000].png 
0

我建議的DownThemAll! Firefox擴展爲此,假設它是一次性需要下載靜態文件