Ethna/memo

Ethnaというわけではないけど、PHP経由でバイナリファイルをダウンロードさせる場合、以下のようなコードでできるようです。
途中、SJISファイル名をUTF-8に変換していますが、これの要否は環境によって変わります。(不要な場合もあり得ます)

$tmp_file = './../files/product_document_rev2.0000.doc';   // サーバー上での保管場所とファイル名(日本語は避ける)
$dst_file   = "製品ドキュメント(第2版).doc";            // ダウンロード時に提案するファイル名(日本語もOK)

if(file_exists($tmp_file))
{
    $dst_file   = mb_convert_encoding($dst_file, "SJIS", "UTF-8");  // ファイル名の文字コードを変換
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$dst_file");
    readfile($tmp_file); // 出力
    exit;
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-24 (金) 14:20:51 (2298d)