PHP スクリプトは、要求されたファイルを特定し、適切な HTTP ヘッダーを設定することによってファイルのダウンロードを処理することを目的としています。ブラウザにファイルを表示するのではなく、ダウンロードを開始します。ただし、ブラウザがすべてのファイルを GIF 画像として扱うため、特定のファイルが誤って識別されるという問題が発生しました。
おそらく、Content-Type ヘッダーが欠落しています。応答内の「Content-Type」ヘッダーが、ファイル識別が正しくない原因である可能性があります。 「Content-Type」が指定されていない場合、ブラウザは多くの場合、ファイル拡張子に基づいてファイルの種類を推測しようとします。ただし、拡張子が欠落しているか不正確な場合、ブラウザは誤った想定を行う可能性があります。
この問題に対処するには、汎用の「Content-Type」を提供できます。 Type」は、拡張子に関係なく、すべてのファイルに適用されます。一般的な選択は、「application/octet-stream」または「application/force-download」です。これは、ファイルが指定されていない形式であるため、直接ダウンロードする必要があることをブラウザに示します。
header('Content-Type: application/force-download');
更新された実装では、ファイルのダウンロードのより堅牢なプロセスに従いますが、スクリプトが実行されてからブラウザのダウンロード ダイアログが表示されるまでに大幅な遅延があることに気付きました。この遅延の原因となっているボトルネックを特定するには、次の要素を考慮してください:
以上がファイルのダウンロードが誤って識別され、遅延が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。