アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いします。
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);

どうかご教授よろしくお願いします。

A 回答 (1件)

原因の違いで対処も変わるので、まずはひとつひとつ確認して原因を洗い出してみてはいかがでしょうか。



1)$xmlには正しく結果が入っているか
 入っていないなら、URLが違う、文字コードの設定がおかしいなどの理由が考えられます。
 ちなみに、文字コードでひっかかることがあるので、最初のテストに使うXMLファイルはマルチバイトを含めないものでやったほうがいいですよ。

2)fwriteに渡す変数で入力ミスをしていないか
サンプルどおりなら間違っていないですが、念のため。

とりあえず思いつくのはこんなところでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
$xmlは正しく入っています。
echo "<pre>";
print_r($xml);
echo "</pre>";
で問題なく出てきます。

ちなみに、他の方法で自己解決しました。

asXML(ファイル名);
でも同じことができました。
そのため、今回はasXML();を使いました。
ただし、fwriteでの解決はまだみていません。

お礼日時:2007/05/26 13:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!