[PHP-users 25120] Re: ファイルの場所を隠す&読み込みながら書き出し

sho sho @ big.or.jp
2005年 3月 24日 (木) 23:59:17 JST


こんにちは、sho です。

kahos @ mcn.ne.jp (萩原) wrote:
(2005/03/24 18:49)

>CGIの動作確認が手軽にできると思いWinでAnHTTPdを利用しているのですが
>httpdがバッファリングしていると考えるのが妥当でしょうか

Windows 2000, AnHTTPD 1.42n, php.net の php-4.3.10-Win32 の php4isapi.
dll
の設定で試してみました。
php.ini は default のまま。
クライアントは同じ W2K 上の IE6SP1

<?php
$file="test.dat";
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$file");
header("Content-Length: ".filesize($file));
// **
readfile($file);
?>

50 MB ほどのファイルですが、バッファリングせずに普通にダウンロード
できました。

もしかして、output_handler に mb_output_handle を設定してますか?
それだと
output_buffering = Off
していても、
; Setting any output handler automatically turns on output buffering.
ということになって、output_buffering が効いていると思います。
それならば、header と readfile の間に
ob_end_flush();
を入れてみてください。


そうそう、下記の「質問は的確に」は読んでますか?
あなたの環境はあなたしか知りませんよ。

>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3

-- sho


-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.8.1 - Release Date: 2005/03/23



PHP-users メーリングリストの案内