我在我的模板中包含了custom.css文件,以允许网站所有者添加自己的css规则.但是,当我发送文件时,它是空的,如果他们没有添加任何规则,就没有意义加载它.
确定它是否空的最佳方法是什么?
if ( 0 == filesize( $file_path ) )
{
// file is empty
}
// OR:
if ( '' == file_get_contents( $file_path ) )
{
// file is empty
}
Run Code Online (Sandbox Code Playgroud)
Spl*_*ter 54
file_get_contents()
将读取整个文件,而filesize()
用途stat()
来确定文件的大小.使用filesize()
它应该消耗更少的磁盘I/O和更少的内存.
use*_*ond 14
每个人在使用时都要小心filesize
,因为它的结果会被缓存以获得更好的性能.因此,如果您需要更高的精度,建议使用以下内容:
<?
clearstatcache();
if(filesize($path_to_your_file)) {
// your file is not empty
}
Run Code Online (Sandbox Code Playgroud)
使用filesize()
显然更好.它使用的stat()
根本不需要打开文件.
file_get_contents()
读取整个文件..想象如果你有一个10GB的文件会发生什么.
filesize()
会更有效率,但它可能会产生误导.如果有人只是在那里有评论,甚至只是空格......这会使文件大一些.IMO你应该在文件中寻找特定的东西,比如/* enabled=true */
在第一行,然后使用fopen/fread来读取第一行.如果它不存在,请不要加载它.