ホームページ  >  記事  >  バックエンド開発  >  PHPダウンロードファイルの問題分析

PHPダウンロードファイルの問題分析

WBOY
WBOYオリジナル
2016-07-25 08:57:101094ブラウズ
この記事では、PHP でファイルをダウンロードするときに発生するいくつかの問題と解決策を紹介します。必要な友人は参考にしてください。

PHP を使用してファイルをダウンロードすると、ブラウザのダウンロード ボックスがポップアップ表示され、名前を付けて保存操作が表示されます。場合によっては、メモリ オーバーフローやタイムアウトが発生することがあります。

タイムアウトになった場合は、set_time_limit(0);を設定できます

メモリ オーバーフローが発生した場合は、データベースから取得したデータが多すぎることが原因である可能性があります。

ファイルからの読み取り時にメモリ オーバーフローが発生した場合は、コードの読み取り方法が間違っており、files または filegetcontens を呼び出す必要があることを意味します。

fopenであれば固定サイズのバッファを与えて読み込んでから書き込むとメモリオーバーフローは起こりません。

コード:

リーリー

注: 出力前に @ob_end_flush() を 1 回呼び出す必要があります。ループ内で呼び出すことはできません。1 回だけ呼び出してください。 @ob_end_flush();//出力バッファの内容をフラッシュ(送信)し、バッファを閉じます。

ファイルのダウンロード: content-type://ダウンロード形式。形式がブラウザーで解析できない場合、ダウンロードボックスがポップアップ表示されます

りー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。