[PHP-users 19185]Re: バイナリファイルのダウンロードを行うと名前が変わってしまう

ケムシ keigo-fu @ selene.dricas.com
2003年 12月 2日 (火) 17:23:56 JST


> はじめまして、なかじと申します。
> 
> 以下のリストでバイナリファイルをダウンロードしようと思って
> いますが、保存画面のファイル名が自動的に変わってしまいます。
> 
> ファイル名の例)111-222-333.tar
> ダウンロード保存画面に表示される名前)
>   IE6.0 ... 111-222-333[1].tar
>      Netscape7.02 ... 111-222-333.php
> 
> これは、PHPの問題なのか、ブラウザーの問題なのかもわかりません。
> よろしくお願いします。
> 使用しているPHPのバージョンは4.3.3,Turbolinux8.0上で動いています。
> 
> リスト)
>     $filename = "111-222-333.tar";
>     $filesize = filesize($filename);
>     header("Accept-Ranges: none");
>     header("Content-Length: $filesize");
>     header("Content-Disposition: filename=$filename");
>     header("Content-Type: application/octet-stream");
>     $fp=fopen($filename,"rb");
>     fpassthru($fp);
> 
Windows 2k + Apache1.3.29 + PHP 4.3.4環境でしか確認してませんが
※PHPモジュール動作
<?
$filepath = "./file/111-222-333.tar";//File Path
$filesize = filesize($filepath);//File Size
header("Content-Type: application/octet-stream; name=".basename($filepath));//MIME Type
header("Content-Disposition: attachment; filename=".basename($filepath));//File Name
header("Content-Length: $filesize");//File Size Send
readfile($filepath);//Reading File
exit;//PHP quit
?>
で少なくともIE6では「111-222-333.tar」と保存されます。





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