使用PHP从XML下载所有图像?

时间:2012-12-04 11:50:45

标签: php xml image

我从服务提供商加载XML文件,然后我的HTML在必要的位置显示图像。但是,我希望在本地缓存所有这些文件,而不是让浏览器每次都从远程服务器加载它们。

以下是我的XML文件示例...

feed.xml

<URI>http://imt.boatwizard.com/images/1/14/77/3801477_-1_20120229071449_0_0.jpg</URI>
<URI>http://imt.boatwizard.com/images/1/40/6/3794006_-1_20120814035230_16_0.jpg</URI>
<URI>http://imt.boatwizard.com/images/1/21/74/4012174_-1_20120706051335_21_0.jpg</URI> 

有人可以帮我编写PHP来循环遍历XML,并下载每个图像。

1)下载图片

2)以XML格式重命名图像URL,以匹配本地文件。

3)保存XML

谢谢!

1 个答案:

答案 0 :(得分:1)

我想你应该做这样的事情

// xmlize your... ehm... xml
$xml = new SimpleXMLElement($xml_content);

// extract uri elements
$result = $xml->xpath('/URI');

// loop through uris
while(list( , $node) = each($result)) {

    // with curl functions, download every image
    curl_stuff_i_dont_remember($node);

    // move it to your folder
    rename($downloaded_img, $newpath_img);

    // if everything went ok, add a new line into the output xml
    $outxml = $outxml . '<URI>' . basename($newpath_img) . '</URI>';
}

// dump the outxml
$fp = fopen('newxml.xml', 'w+');

fwrite($fp, $outxml);