朋友給我一個網路相簿,要我看看裡面的東西,但是單張單張點好慢,乾脆下載下來再從檔案總管看好了。
本來要用像 FlashGet 之類的批次下載的工具,不過檔案有 XML 格式的檔案清單、但檔名不規律,就自己寫程式抓。
<?php
ini_set("max_execution_time", 6000); // 防止檔案量過多而逾時
$string = file_get_contents("http://127.0.0.1/folderdata.xml");// 取回網路相簿檔案列表
$xml = simplexml_load_string($string);// 以 Simple XML Load String 把內容為 XML 的字串轉為 Simple XML 物件
$count = sizeof($xml->file);// 照片的節點個數
// 以迴圈把每一張照片跑一遍
for ($i = 0; $i < $count; $i++) {
$filename = (string)$xml->file[$i]->attributes()->name;
$url = 'http://127.0.0.1/images/'.$filename;
$fp_input = fopen($url, 'r');
file_put_contents($filename, $fp_input);// 用file_put_contents存檔存起來
}
?>
檔案下載的原則就是把檔案一個個找出來、串路徑、存起來,所以只要知道檔案名稱,打開這一頁讓他慢慢跑就好了。
打完收工~
留言列表