1

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

这是我的 XML 文件的示例...

提要.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

谢谢!

4

1 回答 1

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);
于 2012-12-04T12:02:03.467 回答