.htaccess周辺の質問です

XMLを出力するPHPを作成しました。上手く説明できないのですが
<?xml version="1.0" encoding="shift-jis"?>
……
といったソース(?)を出力するPHPです
この出力が、IEやFirefoxでの表示時に、XML用の、ツリー状の表示(?)となるためには、運営側であるこちらは何を行えば良いのでしょうか?
XMLファイルがダウンロードになる(orHTMLと同様に表示される)→.htaccessでAddType指定を行えば良い、というFAQは発見できたのですが、特定のPHPを特定の条件(QueryStringや標準入力次第)で実行した場合のみXMLを出力する(それをブラウザでの表示時にもXMLと見なしてツリー状に表示して欲しい)という状況なので、求めている答えとは違いそうです
説明が下手なのですが、どなたか良い方法をご教授願えないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/04/06 21:24:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kent013 No.1

回答回数38ベストアンサー獲得回数7

ポイント35pt

header関数を使えば,htaccessは必要ありません.

http://jp2.php.net/header

<?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は合わせる必要があります.

id:flatlight

ありがとうございます!おかげさまで期待通りの動作を行わせることができました

header関数、他にも様々な場面で使えそうですね。ありがとうございました

2008/04/06 21:23:07

その他の回答1件)

id:kent013 No.1

回答回数38ベストアンサー獲得回数7ここでベストアンサー

ポイント35pt

header関数を使えば,htaccessは必要ありません.

http://jp2.php.net/header

<?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は合わせる必要があります.

id:flatlight

ありがとうございます!おかげさまで期待通りの動作を行わせることができました

header関数、他にも様々な場面で使えそうですね。ありがとうございました

2008/04/06 21:23:07
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント35pt

特定のPHPスクリプトに対して制御したいということでよろしいでしょうか。

それであれば、.htaccessより PHPスクリプトに処理を施した方がいいでしょう。


XMLを出力するPHPスクリプトの冒頭に、

header('Content-Type: application/xml; charset=Shift_JIS');

と記述すれば、ローカルのXMLファイルを開いたときのような状態で見えるはずです。

ただ、ブラウザによってうまく動かないことがあるようです(とくにIE)。


参考サイト

id:flatlight

header関数で制御できるのですね。ありがとうございました

2008/04/06 21:23:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません