• 締切済み

xml画像データを表示するphp

xml画像データを表示するphp下記で構文エラー....解りません ご教授宜しくお願い致します。 IMAGE.XML <?xml version="1.0"?> <photos> <photo url="http://www.kahokanko.com/menu/1.jpg"/> <photo url="http://www.kahokanko.com/menu/13.jpg"/> <photo url="http://www.kahokanko.com/menu/8.jpg"/> </photos> IMAGE.PHP <?php $xml = simplexml_load_file($req) foreach($req->photos->photo as $value){ printf('<img src="%s"><br>', $value->photo->URL); }

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

提示されたxmlデータであれば、下記のように書かないとurlは取得出来ないと思います。 foreach($xml->photo as $value){ printf('<img src="%s"><br>', $value['url']); } 読み込んだ$xmlをvar_dumpすれば、どうやって取得すればいいかは見えてくると思います。属性(@attributes)へのアクセス方法はマニュアル読めば載っていますし・・・ http://php.net/manual/ja/simplexml.examples-basic.php (テストソース) <?php $data = '<?xml version="1.0"?> <photos> <photo url="http://www.kahokanko.com/menu/1.jpg"/> <photo url="http://www.kahokanko.com/menu/13.jpg"/> <photo url="http://www.kahokanko.com/menu/8.jpg"/> </photos>'; $xml = simplexml_load_string($data); print "<pre>"; var_dump($xml); print "</pre>"; foreach($xml->photo as $value){ printf('<img src="%s"><br>', $value['url']); }

murakami5656
質問者

お礼

解決いたしました!ありがとうございました。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 補足ありがとうございます。 前後が端折られてるので$reqに何が入っているかわかりませんが、$reqのパスは正しくIMAGE.XMLを参照していますか? IMAGE.XMLなんですよね。(サーバーによってはimage.xmlとは別になります) 同じく大文字小文字も重要ですから変な加工はしないで質問してくださいね。 foreach($req->photos->photo as $value){ $req->・・・となっていますが、$xmlに読み込んでいるのでは? 転記ミスがあるソースですのでなんとも言えませんが、確認してみてください。 $xml->photos・・・

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 $xml = simplexml_load_file($req) が $xml = simplexml_load_file($req); ってことでしょうか。 エラーの質問する際はエラー内容を一緒に入れたほうがいいです。 親切なエラーメッセージが出ているはずなんですから。

murakami5656
質問者

補足

すみません $xml = simplexml_load_file($req);です。 エラーメッセージは、外部エンティティの読み込みに失敗しました foreachのために供給無効な引数と警告されます。

関連するQ&A