XMLを出力するPHPを作成しました。上手く説明できないのですが
<?xml version="1.0" encoding="shift-jis"?>
……
といったソース(?)を出力するPHPです
この出力が、IEやFirefoxでの表示時に、XML用の、ツリー状の表示(?)となるためには、運営側であるこちらは何を行えば良いのでしょうか?
XMLファイルがダウンロードになる(orHTMLと同様に表示される)→.htaccessでAddType指定を行えば良い、というFAQは発見できたのですが、特定のPHPを特定の条件(QueryStringや標準入力次第)で実行した場合のみXMLを出力する(それをブラウザでの表示時にもXMLと見なしてツリー状に表示して欲しい)という状況なので、求めている答えとは違いそうです
説明が下手なのですが、どなたか良い方法をご教授願えないでしょうか?
header関数を使えば,htaccessは必要ありません.
<?php header("Content-Type: text/xml; charset=utf-8"); echo <<< EOD <?xml version="1.0" encoding="UTF-8"?> <person> <name>hogehoga</name> </person> EOD; ?>
headerは出力を開始する前に(echoの前)に実行するようにしてください.
charsetとencodingは合わせる必要があります.
header関数を使えば,htaccessは必要ありません.
<?php header("Content-Type: text/xml; charset=utf-8"); echo <<< EOD <?xml version="1.0" encoding="UTF-8"?> <person> <name>hogehoga</name> </person> EOD; ?>
headerは出力を開始する前に(echoの前)に実行するようにしてください.
charsetとencodingは合わせる必要があります.
ありがとうございます!おかげさまで期待通りの動作を行わせることができました
header関数、他にも様々な場面で使えそうですね。ありがとうございました
特定のPHPスクリプトに対して制御したいということでよろしいでしょうか。
それであれば、.htaccessより PHPスクリプトに処理を施した方がいいでしょう。
XMLを出力するPHPスクリプトの冒頭に、
header('Content-Type: application/xml; charset=Shift_JIS');
と記述すれば、ローカルのXMLファイルを開いたときのような状態で見えるはずです。
ただ、ブラウザによってうまく動かないことがあるようです(とくにIE)。
header関数で制御できるのですね。ありがとうございました
ありがとうございます!おかげさまで期待通りの動作を行わせることができました
header関数、他にも様々な場面で使えそうですね。ありがとうございました