1

サービスプロバイダーから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> 

誰かが私がXMLをループして各画像をダウンロードするためのPHPを書くのを手伝ってくれませんか。

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 に答える