使用SplFileObject读取文件

啥是SPL,SPL是Standard PHP Library(PHP标准库)的缩写。

根据官方定义,它是"a collection of interfaces and classes that are meant to solve standard problems"。但是,目前在使用中,SPL更多地被看作是一种使object(物体)模仿array(数组)行为的interfaces和classes。参考:阮一峰的网络日志

一般开发中,很少会使用SPL,但有些真是很强大,使用它对性能会有极大的提升。

今天项目中就使用了SplFileObject来读取csv文件再导入到数据库中。

基本的代码如下

$filename = 'bbb.csv';
$method = 'r';
$fp = new SplFileObject($filename , $method);
$fp->setFlags(SplFileObject::READ_CSV);
foreach($fp as $line)
{	
	if ($fp->valid())
	{
		$row = $fp->current();
		if (isset($row[0])) $data[] = $row;
		$fp->next();
	}
}

  

 我只是使用了基本上,如果需要读取大文件的话,可以使用seek定位;这样不需要将文件全部载入内存,效率应该会很高。

 权当记录下,免得下次需要的时候又忘记了。

参考:http://www.cnblogs.com/webcr/p/4254682.html

        http://www.ruanyifeng.com/blog/2008/07/php_spl_notes.html

 

posted @ 2015-03-04 18:22  随彦心MO  阅读(1815)  评论(0)    收藏  举报