[ PHP ] ブラウザに xml やテキストをそのまま出力 ( Content-Type / Content-Disposition )

Pocket

ここでは、ブラウザ上に XML やテキストの内容をそのまま出力するサンプルを掲載しています。

スポンサーリンク

WEB サーバ上に存在するテキストファイルや、xml ファイルにブラウザでアクセスするとファイルの内容がそのままブラウザ上に表示されますが、php スクリプトで作成した xml や テキストも簡単にブラウザにそのまま表示させることができます。

テキストをそのままブラウザに表示させる

header 関数を使用して、Content-TypeContent-Disposition を出力します。それぞれの内容はサンプルを参照ください。

header("Content-Type: text/plain");
header("Content-Disposition: inline");

echo <<< EOT
私のお墓の前で、
泣かないでください。
そこに~わたしはいません。眠ってなんかいません~

EOT;

xml をそのままブラウザに表示させる

header("Content-Type: text/xml");
header("Content-Disposition: inline");

echo <<< EOT
<?xml version="1.0" encoding="utf-8" ?>
<school>
    <class name="1-1">
        <teacher>Bob</teacher>
        <students>
            <student>Ben</student>
            <student>Tom</student>
        </students>
    </class>
</school>

EOT;

ファイルとしてダウンロードする

テキストをファイルとしてダウンロードするには、Content-Dispositioninline ではなく、 attachment を設定します。

header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=\"filename.txt\"");

echo <<< EOT
世界中に定められたどんな記念日なんかより
あなたが生きている今日はどんなに素晴らしいだろう
世界中に建てられてるどんな記念碑なんかより
あなたが生きている今日はどんなに意味があるだろう
見えない自由が欲しくて見えない銃を撃ちまくる
本当の声を聞かせておくれよ
TRAIN TRAIN

EOT;

Content-Disposition で、ブラウザ上にそのまま出力させるか、またはファイルとしてダウンロードさせるのかを指定することができます。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *