• 締切済み

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); どうかご教授よろしくお願いします。

みんなの回答

  • petisuke
  • ベストアンサー率0% (0/2)
回答No.1

原因の違いで対処も変わるので、まずはひとつひとつ確認して原因を洗い出してみてはいかがでしょうか。 1)$xmlには正しく結果が入っているか  入っていないなら、URLが違う、文字コードの設定がおかしいなどの理由が考えられます。  ちなみに、文字コードでひっかかることがあるので、最初のテストに使うXMLファイルはマルチバイトを含めないものでやったほうがいいですよ。 2)fwriteに渡す変数で入力ミスをしていないか サンプルどおりなら間違っていないですが、念のため。 とりあえず思いつくのはこんなところでしょうか。

hola1973
質問者

お礼

回答ありがとうございます。 $xmlは正しく入っています。 echo "<pre>"; print_r($xml); echo "</pre>"; で問題なく出てきます。 ちなみに、他の方法で自己解決しました。 asXML(ファイル名); でも同じことができました。 そのため、今回はasXML();を使いました。 ただし、fwriteでの解決はまだみていません。

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • Lenovo Tab B11にDisplayPort Alternate Modeが搭載されているかは不明で、カタログには情報がありません。
  • ユーザーがLenovo Tab B11の仕様についての疑問を持ち、DisplayPort Alternate Modeの有無が課題となっています。
  • カタログに情報が記載されていないため、非搭載の可能性が示唆されています。
回答を見る

専門家に質問してみよう