おそらく何百万回も尋ねられている簡単な質問ですが、私は検索しましたが、これを機能させることに近づいていません。
UserFrosting フレームワーク内に、ブラウザ経由でユーザーにファイルを提供する PHP スクリプトがあります。ダウンロードではなく「開く」を選択した場合、ファイルをブラウザで開くようにしたいと思います。
問題は、正しく開くのはテキスト ファイルだけです。それ以外のもの (これまでにテストされた PDF および JPG) は、PDF または画像として解釈されるのではなく、ASCII/文字化けしたコードのページとして開かれます。
私が使用しているコードは次のとおりです。
header('Content-Type: '. $mime);
header('Content-Length: ' . filesize($diskname));
header('Content-Disposition: inline; filename=' . $savename);
return readfile($diskname);
$mime
関数を介して設定されたファイルのMimeタイプであるため、これまでに表示しようとしているファイルのまたはである可能性がapplication/pdf
ありimage/jpeg
ます。
ファイルが正しく開かない理由を知っている人はいますか?
更新
応答ヘッダーを確認したところ、使用しているコードに従って、またはに設定されているはずの Content Type のtext/html;charset=UTF-8
代わりに取得しています。これは UserFrosting の問題でしょうか?application/jpeg
application/pdf