PHP读取文件
以前使用PHP读取文件一直惯用fread读取来着,上次看CI源码时发现他们读取文件时首选是file_get_contents。
看了PHP官网手册也建议使用file_get_contents来读取文件。
于是做了个测试:测试对象为一个只有2个字节的文件,循环1000次读取,统计时间差。
测试结果截图如下:
写成方法,以后常用
<?php /** * 读取文件 * @param string $file * @return string; */ if ( ! function_exists('read_file')) { function read_file($file) { if ( ! file_exists($file)) { return FALSE; } if (function_exists('file_get_contents')) { return file_get_contents($file); } if ( ! $fp = @fopen($file, 'rb')) { return FALSE; } flock($fp, LOCK_SH); $data = ''; if (filesize($file) > 0) { $data =& fread($fp, filesize($file)); } flock($fp, LOCK_UN); fclose($fp); return $data; } } |