ドキュメントをダウンロードするために典型的な PHP コードを使用しています。
header('Content-Type: ' . $mimeTypes[$fileext]);
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
header('Cache-Control: private');
header('Pragma: private');
readfile($filepath);
docs.google.com で開こうとする .doc ファイルを除いて、すべて正常に動作します-ダウンロード/名前を付けて保存ダイアログが開きますが、許可がないために失敗します-これは、Web サイトのルートの外部からファイルを提供しているためです。
では、docs.google をバイパスして、ファイルの MIME タイプに関係なく、すべてのブラウザに名前を付けて保存ダイアログを表示させるにはどうすればよいでしょうか?('doc' => 'application/msword')
私は無駄に次のことを試しました:
.htaccess ファイル内:
<FilesMatch "\.(?i:doc)$"> ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch>
.htaccess ファイル内:
AddType application/octet-stream .doc
PHPスクリプトで:
header('Content-Type: application/force-download');