« [PHP]PHPからPerlを引数つきで実行する | トップページ | PostgreSQLインストールエラー(Win) »

[PHP]WEBサイトから日本語ファイル名でダウンロード

日本語のファイル名のついたPDFをダウンロードするのに
普通にサーバに日本語ファイル名.pdfを置いて、HTMLにリンク貼って
とかやってたら

  • 「http://XXXXXX/日本語ファイル名.pdf」をブラウザで指定すると、404エラー
  • URLエンコードしてファイルを指定するとダウンロードはできるけど、ファイル名がエンコードされた名前のまま
  • 半角英数字ファイルならおk

てことになった。
これを回避するのに、以下のようなHTTPヘッダを送信するスクリプトを使った。

<?php
    header('Content-type: application/pdf');    // mimeタイプ
    header('Content-Disposition: attachment; filename=日本語ファイル名.pdf');
    readfile('日本語ファイル名.pdf');   // 実際のファイルを読み込んで標準出力
?>

WEBページから何らかのファイルをダウンロードするときに
スクリプトを通してダウンロードさせてるところもよく見かけていたので
「これはダウンロードのログを取ったりしてるんだろう」と思っていた。
まあきっとそういう用途もあるんだろうけども。

« [PHP]PHPからPerlを引数つきで実行する | トップページ | PostgreSQLインストールエラー(Win) »

PHP」カテゴリの記事

備忘録」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1022502/41432626

この記事へのトラックバック一覧です: [PHP]WEBサイトから日本語ファイル名でダウンロード:

« [PHP]PHPからPerlを引数つきで実行する | トップページ | PostgreSQLインストールエラー(Win) »

最近のトラックバック

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ