次のようなバイト数を読み取ったとします。
$data = fread($fp, 4096);
ファイルの最後に達すると読み取りが停止するためfread
、どのくらい読み取られたかを正確に知るにはどうすればよいですか? うまくいくでしょうかstrlen($data)
?それとも、それは潜在的に間違っている可能性がありますか?
私が達成しようとしているのは、いくつかのバイトを読み取ってから、読み取る前の場所に戻ることです。ファイルがより大きくなる可能性があり、それを台無しにする可能性があるため、算術演算 ( ftell
, fread
, ftell
, subract, ) の使用を避けようとしています。私がしたいのは、ただ実行することですが、そのためには、読み取ったバイト数を知る必要があります...fseek
PHP_INT_MAX
fseek($fp, -$bytes_read, SEEK_CUR)