php 处理大文件方法 SplFileObject

 1     $csv_file = ‘tmp.csv‘;
 2     $start = isset($_GET[‘start‘]) ?intval($_GET[‘start‘]) : 1;       // 从第几行开始读取
 3     $num = 100;             // 读取100行
 4     $data = array();
 5     $spl_object = new SplFileObject($csv_file, ‘rb‘);
 6     $spl_object->seek($start);
 7     while ($num-- && !$spl_object->eof()) {
 8         $data[] = $spl_object->fgetcsv();
 9         $spl_object->next();
10     }

splFileObject 可以处理上M,G级别的数据.专门处理大数据文件的.

时间: 2024-08-28 21:21:57

php 处理大文件方法 SplFileObject的相关文章

linux快速生成大文件方法

dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源) 但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢 在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘. 则可以dd if=/dev/zero of=test bs=1M count=0 seek=10

百度云无需软件下载大文件方法

chrome浏览器或者同内核浏览器要下载的大文件页面  按F12  点一下Console Object.defineProperty(this , 'navigator' , {value: { platform: "" }}); 粘贴上面一行 回车然后点下载就行了  浏览器或者迅雷下

c#上传大文件方法

客户端代码: /// <summary> /// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// </summary> /// <param name="address">文件上传到的服务器</param> /// <param name="fileNamePath">要上传的本地文件(全路径)</param> /// <param name="save

centos磁盘满了,查找大文件并清理

今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑.于是"df -h"查了查发现系统磁盘空间使用100%了.最后定位到是/var/spool/mail/root 这个文件有几个G.于是清理掉,问题解决.如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法. linux操作系统中,经常会遇到磁盘空间满的问题.遇到这样的问题,先查下是什么文件过大或过多引起的,至于引起这个更深一层的原因,先不探讨.怎么查看大文件所在的路径,linux

centos磁盘爆满,查找大文件并清理

今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑.于是"df -h"查了查发现系统磁盘空间使用100%了.最后定位到是/var/spool/mail/root 这个文件有几个G.于是清理掉,问题解决.如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法. 以下内容转自 http://hi.baidu.com/11haiou/item/f3a4878b601e084e840fab17 linux操作系统中,经常会遇到磁盘空间满的

Git从库中移除已删除大文件

写在前面大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦.今天在上传工程到github上,发现最大只能上传100MB大小文件,在本地git库中有一个150MB文件,虽然已经删除,但还保存了记录.下面教大家如何从库中彻底删除无效大文件. 删除大文件方法很简单,就是先找到大文件对象再删除. 先提交所有更改 $ git commit -am "commit all"1对仓库进行gc操作 $ g

Linux培训教程 linux系统下分割大文件的方法

在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取. 有时,需要传输20gb的大文件,Linux培训 教程件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据. 以下通过五个不同的例子,来讲解Linux下分割大文件的方法,供大家参考. 例1.以每个文件1000行分割 split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab, [前缀]ac等,默认的前缀是X,每个文件的行数为1000行. 命令: 复制代

IIS中的大文件上传问题解决方法

IIS出于安全考虑限制了大文件的上传,而网上百度到的大部分解决方法都是用一个管理员权限的记事本打开一个文件修改参数,但是我发现里面根本没有网上所说的那些参数,最后自己找到了修改发布文件的webconfig的方法解决的IIS对大文件上传的限制. 首先在system.web中加入以下代码 [csharp] view plain copy <httpRuntime maxRequestLength="2097151"//最大上传长度 useFullyQualifiedRedirectU

运用php上传大文件配置方法

网站建设:运用php上传大文件配置方法如下: 翻开php.ini, 1.第一找出 file uploads区域,有影响文件上传的以下几个参数: file_uploads = on ;能否准许经过http上传文件的开关.默许为on即是开 upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,假设没指定就会用系统默许的临时文件夹 upload_max_filesize = 8m ;望文生意,即准许上传文件大小的最大值.默许为2m 2.在resource limits区域,还有参数 ;