我从服务提供商加载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
谢谢!
答案 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);