ファイル ダウンロードの HTTP ヘッダー: Content-Type のトラブルシューティング
ファイルのダウンロードでは、多くの場合、ブラウザーがファイルを正しく処理できるように適切な HTTP ヘッダーを設定する必要があります。 。特定のファイルが誤って識別されている場合は、Content-Type ヘッダーがないことが原因である可能性があります。
これを修正するには、次の手順に従います。
1. Content-Type ヘッダーの設定:
header('Content-Type: application/force-download');<br>
このジェネリックこのタイプは幅広いファイル形式をカバーしており、ブラウザにファイルを強制的にダウンロードさせます。
2.出力バッファリングの削除:
@ob_end_clean();<br>
ファイルのダウンロード プロセスへの干渉を防ぐために、出力バッファリングを無効にします。
3.ファイル キャッシュの防止:
header('Cache-Control: private');<br>header('Pragma: private');<br>header('有効期限: 月、 1997年7月26日 05:00:00 GMT');<br>
これらのヘッダーにより、ブラウザーがファイルをキャッシュせず、毎回強制的に新しいダウンロードが行われることが保証されます。
4.ファイルを出力します:
<br>$bytesSend = 0;<br>if($file = fopen($filePath, 'r')) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if(isset($_SERVER['HTTP_RANGE'])) { ... (implementation for handling file chunks) } else { while(!feof($file) && !connection_aborted() && $bytesSend < $newLength) { ... (implementation for reading and outputting the file) } }
}
遅延ダウンロード ダイアログ:
スクリプトの実行とダウンロード ダイアログ間の大幅な遅延外観は次の原因で発生する可能性があります:
以上がファイルのダウンロードが機能しないのはなぜですか?ファイルダウンロード用のHTTPヘッダーのトラブルシューティングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。