[PHP-users 25089] Re: ファイルの場所を隠す&読み込みながら書き出し

萩原 kahos @ mcn.ne.jp
2005年 3月 24日 (木) 15:30:31 JST


>> header("Content-Disposition: attachment; filename=$file");
>私のブラウジング環境(IEのデフォルト設定)では、このままではダウンロード
>・ウィンドウが開いてしまいます。
>たとえばJPEGファイルなら、
>  header("Content-type: image/jpeg");

画像ファイルの場合やはりダウンロードになってしまうと使い勝手が悪いことも
多く直接開くようにContent-typeを指定してみたのですがおかしなことが出てきました。

私の環境はIEなのですが右クリックして保存を選ぶとjpgではなく無題.bmpとなって
しまうのです。他のエンジンでも試してみようと思い Mozilla FireFox、Operaで試して
みるとこちらは正常に保存できました。

おそらくIE特有の問題なのだと考えていますがこれを回避できる上手い header もしくは
別の表示のさせ方などありますでしょうか。苦しまぎれに<meta>タグの refresh を使った
りもしてみたのですが表示はできるもののファイルの保存には適していないと思いました。

又、保存時のファイル名についても悩まされています。
Content-Disposition: attachment にした場合は filename が指定できるのですが
Content-Disposition: inline や Content-type のみの場合 filename は使えないようで

IEの場合
リンク先だと無題 bmp 
リンク自体を右クリック保存を選ぶと dl.jpg  //php名

FireFoxの場合
dl.php.jpg

Operaの場合
dl.jpeg

と多彩なファイル名になってしまいます。なんとか隠しながらファイル名は受け渡せるような
方法がないか今考えています。良きアドバイスなどがありましたらお願いします。


PHP-users メーリングリストの案内