2010-05-05 94 views
2

我想從一個站點獲取所有midi(* .mid)文件,這些文件在目錄樹結構方面設置起來非常簡單。我希望我們在這裏的wget安裝,但這是另一個黨....如何使用PHP從網站下載所有特定類型的文件?

該網站是VGMusic.com幷包含所有MIDI文件的路徑爲:

http://www.vgmusic.com/music/console/nintendo/nes/ 

我試圖glob'ing出來,但我想這個glob只能在本地使用?

這裏是我寫的,試圖做到這一點(不工作。顯然..):

<?php 
echo 'not a blizzard<br>'; 
foreach(glob('http://www.vgmusic.com/music/console/nintendo/nes/*.mid') as $filename) 
{ 
    echo $filename.'<br>'; 
    //$newfile = 'http://www.mydomain.com/nes/'.$filename; 
    //copy($filename, $newfile) 
} 
?> 

我試了一下還沒有http://在那裏,沒有運氣。

回答

1

確實glob只對本地文件系統有效。

在你的情況下,你必須解析頁面http://www.vgmusic.com/music/console/nintendo/nes/index-classic.html並搜索看起來像href =「(*。mid)」的字符串,然後請求那些URL。

這是應該執行得相當好一個正則表達式的一個很好的例子:然而http://www.the-art-of-web.com/php/parse-links/

,如果你只是想擁有所有這些文件我說你最好使用某種形式的「下載所有的瀏覽器插件。

+0

多數民衆贊成在這個不是一個壞主意 - 插件,生病檢查都出 – CheeseConQueso 2010-05-05 16:01:09

+0

https://addons.mozilla.org/en-US/firefox/addon/220工作良好,但即時通訊仍然會嘗試PHP的方法,所以我可以避免對dl'd文件進行額外的步驟 – CheeseConQueso 2010-05-05 17:39:46