1

次のコードを使用してファイルをダウンロードしています。

$file_name = $_GET['file_name'];
$file_size = filesize( 'files/' . $file_name );
$file_type = mime_content_type( 'files/' . $file_name );

header( 'Content-Type: ' . $file_type );
header( 'Content-Length: ' . $file_size );
header( 'Content-Disposition: attachment; filename="' . $file_name . '"' );

readfile( 'files/' . $file_name );

ファイルをダウンロードできます。ただし、気になる点があります。Firefox でファイルをダウンロードすると、ダウンロード ダイアログに常にファイルが「ドキュメント」または場合によっては「プレビュー ドキュメント」であると表示され、画像や PDF など、実際のファイルではありません。何か案は?

編集: .svg ファイル (MIME タイプのイメージ/svg+xml) を試してみたところ、ダイアログ ボックスに「スケーラブル ベクター グラフィックス」と正しく表示されました。しかし、その後、.psd ファイル (mime タイプの image/x-photoshop) を試してみたところ、「Preview.app ドキュメント」が表示されました。変。誰でも問題を再現できますか? 現時点では Firefox の問題かもしれないと思ったので、タグとして「Firefox」を追加しました。

4

0 に答える 0