使用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

浙公网安备 33010602011771号