[PHP-users 4843] Re: ファイルのコピー

WADA Hiroyuki php-users@php.gr.jp
Fri, 18 Jan 2002 23:41:49 +0900


GT wrote:

> > こんなんでできると思います。

> > (file()だと行単位なのがちょっといや。状況によっては ob_start() で
> > readfile()が使えると思いますが。)
> 
> 早速試したのですが、ダメでした。

copyになってなかったですか。やっぱり行単位がネックでしたね。すんません。
まとめて読みこめるreadfile()はstdoutに直行してしまうので、もしも
バッファリングを使ってなければ、

ob_start();
readfile($in_file);
$contents = ob_get_contents();
$fp = fopen($out_file, "wb");
fwrite($fp, $contents);
fclose($fp);
ob_end_clean();

で大丈夫です。(ちゃんとjpgファイルで実験しました)

他の方法は、リモートファイルのサイズはわからないみたいなので、
ループしてfread()で地道に読みこむしかなさそうです。