[PHP-users 17032]CSVファイル生成+ダウンロード処理のタイムアウトについて
松尾 智和
matsuo @ sltsi.co.jp
2003年 7月 29日 (火) 14:41:07 JST
松尾です。投稿するのは初めてです。よろしくお願いします。
PHPで処理が重い場合、ブラウザのタイムアウトを回避する手法として、
flush()を使う手法があるのですが・・・
SQLからデータを抽出してCSVファイル生成してダウンロードをする手法
としてHTTP Headerを使った場合、flush()が効かず、5分経過でブラウザ
のタイムアウトが発生します。
やはり処理が重い場合は、CSV形式ファイルダウンロードをさせる場合は、
ファイルを生成してダウンロードさせるべきになるのでしょうか?
もし、HTTP Header手法の場合でもタイムアウト回避方法があれば教えて
いただけると幸いです。
Header("Content-Disposition: attachment; filename=\"" .
$filename . "\"");
Header("Content-Type: application/text");
// データ取得
for( $i = 0; ( @OCIFetch( $clsora->cursor ) == TRUE ); $i++ )
{
if($i % 1000 == 0)
{
echo "\n";
flush();
}
// 出力処理(SJIS形式)
$stroutput = OCIResult($clsora->cursor,1)
. "," . OCIResult($clsora->cursor,2)
. "," . OCIResult($clsora->cursor,3) . "\r\n";
$stroutput = i18n_convert( $stroutput, "SJIS" ) ;
i18n_http_output("pass");
echo $stroutput;
}
PHP-users メーリングリストの案内