首页 > PHP > PHP读取文件

PHP读取文件

以前使用PHP读取文件一直惯用fread读取来着,上次看CI源码时发现他们读取文件时首选是file_get_contents。

看了PHP官网手册也建议使用file_get_contents来读取文件。

于是做了个测试:测试对象为一个只有2个字节的文件,循环1000次读取,统计时间差。
测试结果截图如下:
file_get_contents-fopen

写成方法,以后常用

<?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;
	}
}
分类: PHP 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.