PHP:fread的字节数

Svi*_*ish 2 php io fread

假设我读了这样的字节数:

$data = fread($fp, 4096);
Run Code Online (Sandbox Code Playgroud)

因为fread如果它到达文件的末尾会停止读取,我怎么能确切地知道读了多少?会strlen($data)工作吗?或者这可能是错的?


我想要完成的是读取一些字节,然后在我阅读之前回到原来的位置.我试图避免使用算术(ftell,fread,ftell,subract, fseek),因为文件可能是大于PHP_INT_MAX和潜在的混乱,向上.我想要的只是做fseek($fp, -$bytes_read, SEEK_CUR),但为此我需要知道我刚读了多少字节...

Mid*_*das 5

之后fread使用ftell($fp)来获得当前文件的位置.