この記事では、PHP でファイルをダウンロードするときに発生するいくつかの問題と解決策を紹介します。必要な友人は参考にしてください。
PHP を使用してファイルをダウンロードすると、ブラウザのダウンロード ボックスがポップアップ表示され、名前を付けて保存操作が表示されます。場合によっては、メモリ オーバーフローやタイムアウトが発生することがあります。 タイムアウトになった場合は、set_time_limit(0);を設定できます メモリ オーバーフローが発生した場合は、データベースから取得したデータが多すぎることが原因である可能性があります。 ファイルからの読み取り時にメモリ オーバーフローが発生した場合は、コードの読み取り方法が間違っており、files または filegetcontens を呼び出す必要があることを意味します。 fopenであれば固定サイズのバッファを与えて読み込んでから書き込むとメモリオーバーフローは起こりません。 コード: リーリー注: 出力前に @ob_end_flush() を 1 回呼び出す必要があります。ループ内で呼び出すことはできません。1 回だけ呼び出してください。 @ob_end_flush();//出力バッファの内容をフラッシュ(送信)し、バッファを閉じます。 ファイルのダウンロード: content-type://ダウンロード形式。形式がブラウザーで解析できない場合、ダウンロードボックスがポップアップ表示されます りー |