MW211 EXIT

devlog
PHP/ダウンロード画面の雛型
2013年11月27日
PHPにてダウンロード画面を実装する場合のシンプルな雛型。
┌──────────────────────────────────────┐
<?php
if (@$_POST['command'] == 'ダウンロード実行') {
    header('Content-Disposition: attachment; filename="download.txt"');
    header('Content-Type: application/octet-stream');
    echo 'ダウンロードファイルの中身です';
} else {
    echo <<<___HTML___
<html>
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
<title>ダウンロード画面</title>
</head>
<body>
<form method="post" action="">
<input type="submit" name="command" value="ダウンロード実行"/><br/>
</form>
</body>
</html>

___HTML___;
}
└──────────────────────────────────────┘

実はPOSTを使わなくても実現できたりする。
┌──────────────────────────────────────┐
<?php
if (isset($_GET['dl'])) {
    header('Content-Disposition: attachment; filename="download.txt"');
    header('Content-Type: application/octet-stream');
    echo 'ダウンロードファイルの中身です';
} else {
    echo <<<___HTML___
<html>
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
<title>ダウンロード画面</title>
</head>
<body>
<a href="?dl">ダウンロード実行</a><br/>
</body>
</html>

___HTML___;
}
└──────────────────────────────────────┘
分類:PHP