LMLPHP后院

PHP filesize 获取文件大小注意事项技术

maybe yes 发表于 2018-11-19 21:02

使用 filesize 获取文件大小需要注意,此函数返回的内容是被缓存的,一般情况下不会出现问题,如果文件内容被频繁更改,那就获取到错误的大小了。

看官方的注释:

返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。Note: 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。

filesize 需要配合 clearstatcache() 函数使用。获取文件大小的方法还可以使用 file_get_contents 获取内容,然后使用 strlen 来获取,这样也是准确的。注意不要读取太大的文件,怕引起内容超过限制。

另外可查看 https://segmentfault.com/q/1010000000095346

2019-06-16 21:04:17 1560690257 0.008878