[PHP-users 25920] Re: ファイルの出力中にメモリフロー
SAITO Masaru
daisaito @ lares.dti.ne.jp
2005年 6月 27日 (月) 15:38:58 JST
齋藤@横浜です。
# 関連を見ずにリプライしてます。
On Mon, 27 Jun 2005 14:51:56 +0900
keijiro <icm @ pepota.com> wrote:
> こんにちは、keijiroです。
snip
> while(!feof($fp)){
> $buf = fgets($fp, 4096);
> print $buf;
> }
fgetsではなくfreadを使ってみても変わりませんか?
fgetsとfreadが内部的にどう違うのかは分かりませんが、
fgetsを拡張して、上限サイズを決めているのと、
最初からsizeを決めている関数では挙動が違う可能性があり、
もしかしたらうまくいくかもしれません。
#試してないので保証はできませんが。
<?php
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($file));
header("Content-Disposition: attachment; filename=\"".$file."\"");
$fh = fopen($file, "r");
while(!feof($fh)){
echo fread($fh, 4096);
ob_flush();
}
fclose($fh);
?>
--
SAITO Masaru <daisaito @ lares.dti.ne.jp>
PHP-users メーリングリストの案内