- 締切済み
PHP5のsimplexml_load_fileで取得した結果をファイルに書き込みたい
よろしくお願いします。 PHP5でSimpleXMLを利用して得られた結果をファイルに書き込む、つまりキャッシュを保存したいのですが、以下のようにやっても作成されるファイルは空のままです。ディレクトリモードは755です。 $url = "http://hoge.co.jp/index.php?a=123"; $cache_file = md5($url); $xml = simplexml_load_file($url); $fp = fopen($cache_file, 'w'); fwrite ($fp, $xml); fclose($fp); どうかご教授よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- petisuke
- ベストアンサー率0% (0/2)
回答No.1
原因の違いで対処も変わるので、まずはひとつひとつ確認して原因を洗い出してみてはいかがでしょうか。 1)$xmlには正しく結果が入っているか 入っていないなら、URLが違う、文字コードの設定がおかしいなどの理由が考えられます。 ちなみに、文字コードでひっかかることがあるので、最初のテストに使うXMLファイルはマルチバイトを含めないものでやったほうがいいですよ。 2)fwriteに渡す変数で入力ミスをしていないか サンプルどおりなら間違っていないですが、念のため。 とりあえず思いつくのはこんなところでしょうか。
お礼
回答ありがとうございます。 $xmlは正しく入っています。 echo "<pre>"; print_r($xml); echo "</pre>"; で問題なく出てきます。 ちなみに、他の方法で自己解決しました。 asXML(ファイル名); でも同じことができました。 そのため、今回はasXML();を使いました。 ただし、fwriteでの解決はまだみていません。