• 締切済み

wordpress上でxmlが読み込めない

<?php $fileName="http://~~~/jouhou.xml"; if(file_exists($fileName)){ $xml=simplexml_load_file($fileName); }else{ echo "失敗しました。"; } ?> 上記の式を、Wordpress内に設置したphp上で実行したのですが、失敗しか表示してくれません。 環境がセーフモードでないことは確認していて、xmlファイル自体もきちんと該当URLに存在を確認できるのに、なぜ読み込めないのでしょうか? PHP Version 5.1.6 WordPress 3.1.1(自分でインストール) 該当環境にはベーシック認証がかかっています。

みんなの回答

  • 4017B
  • ベストアンサー率73% (1337/1815)
回答No.1

恐らく $fileName に格納されているファイル名(絶対パス名)が間違っているのが原因かと…。 glob("*.xml"); ~とかを実行してみて「PHP内での正式なファイル名」を調べてみてはどうでしょうか? P.S. 存在が確定しているファイルの確認だけなら、is_file()関数の方が実行速度早いと思います(まあ数百件程度ならあまり差はないと思いますが)。

picicate
質問者

お礼

すいません自己解決しました。 is_fileやfile_existsがWordpress上で通らない問題は残りますが…。 $xml=@simplexml_load_file(WP_CONTENT_URL."/uploads/~~.xml") or die ("document.write('XMLが読み込めません');"); if($xml){ 処理 } }else{ echo "失敗しました"; }

picicate
質問者

補足

言葉が足りなくてすいません。 そのあたりは試した後です。 「PHP内での正式なファイル名」と仰られるパスの記載で間違っている可能性はあると思います。 参照したいフォルダは/wp/wp-content/uploads/で、「/wp/wp-content/uploads/~.xml」や、「http://サーバー名.jp/wp/wp-content/uploads/~.xml」は試しましたがだめでした。

関連するQ&A

専門家に質問してみよう