【PHP大文件的读取和写入问题】教程文章相关的互联网学习教程文章

PHP对大文件的处理思路_PHP教程

需求: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容。 在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。 1. 直接采用file函数来操作 由于 file函数是一次性将所有...

PHPSCOKET发送大文件,接收端JAVA_PHP教程

客户端(PHP): send.php [php] $fp = fsockopen("127.0.0.1", 1024, $errno, $errstr, 10); $filename = 2012_07_23.zip; //要发送的文件 fwrite($fp, $filename . "\r\n"); //写入文件名 java端用.readLine()..第一行就是文件名 $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); //fwrite($fp,$contents); //小文件可以这样发,但大文件请分段 $data_size = 1024 * 1; //每次1M $da...

php上传大文件设置_PHP教程

打开php.ini,首先找到 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; 区域,有影响文件上传的以下几个参数:file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M在 ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;...

PHP读取和修改大文件的某行内容_PHP教程

最近碰到一个比较有趣的问题,就是修改某个文件的某一行字符,不过文件太大,file()直接读取是不可能的,我使用fgets来跳转到指定行,并用fwrite修改某个字符串: $fp = fopen(d:/file.txt, r+); if ($fp) {$i = 1;while (!feof($fp)) {//修改第二行数据if ($i == 2) {fseek($fp, 2, SEEK_CUR);fwrite($fp, #);break;}fgets($fp);$i++;}fclose($fp); } 这里需要注意的是fgets获取到一行后,文件指针指向行尾(也就是下一行开头),所...

PHP读取大文件程序代码_PHP教程

PHP 读取大文件与读取一般的文件是有些区别的,如果你的文件到了几百MB或GB这样可能普通的php读取文件会很慢或卡死了,下面我来介绍一下PHP 读取大文件技巧吧。一般读取文件我们用fopen 或者 file_get_contents ,前者可以循环读取,后者可以一次性读取,但都是将文件内容一次性加载来操作。如果加载的文件特别大时,如几百M,上G时,这时性能就降下来了,那么PHP里有没有对大文件的处理函数或者类呢? 答案是:有的。 PHP真的越来越...

修改PHP配置文件上传大文件几种方法(apache/nginx)_PHP教程

在php.ini中如果我们不对 post_max_size,upload_max_filesize 这些参数进行修改,默认最多只能上传2MB的文件了,如果几十MB或更大的就无法上传了,下面我来介绍修改PHP配置文件上传大文件几种方法,希望对大家有点帮助呀windows+apache+php环境 在apache最常见的PHP上传文件大小限制是通过 php.ini 配置文件定义的,通过修改以下三个字段的值,重新启用服务器端程序(如 apache),便可成功修改PHP上传文件的大小限制: upload_max_f...

解决php中file_get_contents读取大文件返回false问题_PHP教程

file_get_contents文件是用来读写文件的,但我发现用file_get_contents 读取大文件出错提示Note: string can be as large as 2GB了,这个就是不能超过2G了,有没有办法解决呢,下面我来一起来看。如果我读取一个 www.bKjia.c0m文件代码如下 $u =www.bKjia.c0m; //此文件为100GB $a =file_get_contents( $u );运行提示 Note: string can be as large as 2GB 不能大于2GB了,我们去官方看此函数参考string file_get_contents ( strin...

php文件上传参考配置与大文件上传_PHP教程

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的,在php文件上传之前,可通过调节 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错 3.memory_limit=50M 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了 --enable-memory-limit标志的情况下才生效 4.upload_max_filesize=20M 允许上传文件的最大大小,此指令必须小于post_m...

PHPfastcgi模式大文件上传500错误_PHP教程【图】

最近在项目中中上传图片时,大约有300多K,结果报了个服务器错误,以前从未遇到过,错误的内容如下:mod_fcgid: www.111cn.net HTTP request length 132296 (so far) exceeds MaxRequestLen (131072)查了下资料,发现fastcgi默认的请求大小为131072,于是在apache配置中添加了MaxRequestLen 配置就好了。如果你只需要修改单个虚拟主机的MaxRequestLen,原来是fastcgi模式下的设置问题,需要在配置文件.htaccess或者直接在apache的...

php无法上传大文件的解决方法_PHP教程

<span 开发一个文件上传共享网站,曾想使用下面的代码实现文件上传的功能: <span 在实际执行过程中发现上传稍微大一些的文件时,显示File couldn't be moved。 数据库里显示文件名称,不显示大小。 而上传大于8M的文件时,页面根本没有反应。 网上找到几篇文章: 解决PHP上传大文件的问题 php设置允许大文件上传的方法 apache+php上传大文件 php上传大文件时php.ini的几处设置 以上文章均指出是因为:php的文件上传受到了php.ini...

php设置允许大文件上传示例代码_PHP教程

用Nginx做为代理服务器, 后端为 apache2. 设置允许上传最大为100M的文件. 1. Nginx配置: http { ...... client_max_body_size 100m; ...... } 2. PHP 配置文件 ...... ; Maximum execution time of each script, in seconds ; http://php.com/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 0 ...... [Data Handling] ; Maximum size of POST data that PHP will accept. ; ...

PHP读取大文件的类SplFileObject使用介绍_PHP教程

如果加载的文件特别大时,如几百M,上G时,这时性能就降下来了,那么PHP里有没有对大文件的处理函数或者类呢? 答案是:有的。PHP真的越来越“面向对象”了,一些原有的基础的SPL方法都开始陆续地实现出class了。从 PHP 5.1.0 开始,SPL 库增加了 SplFileObject 与 SplFileInfo 两个标准的文件操作类。SplFileInfo 是从 PHP 5.1.2 开始实现的。从字面意思理解看,可以看出 SplFileObject 要比 SplFileInfo 更为强大。不错,SplFile...

PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)_PHP教程

CSV大文件的读取已经在前面讲述过了(PHP按行读取、处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题。 1、如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行;办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时的可能;办法三:借助SplFileObject类,直接将指针定位到文件末...

php读取大文件示例分享(文件操作类)_PHP教程

Lib_File2.php 代码如下: class Lib_File2 { //文件目录 private $root = '/data/wwwroot/kkpromo/data/'; //文件后缀 private $suffix = '.log'; //文件句柄 private $handle=null; //一次读取文件的最大记录数 private $limit=40000; //每行读取的字节长度 private $length=1024; //开始时间 private $startTime=0; //内存使用基准点 private static $startMemory=0; // private $conn=null; // private sta...

PHP快速按行读取CSV大文件的封装类分享_PHP教程

这篇文章主要介绍了一个PHP快速按行读取CSV大文件的封装类,这个类同时也适用于其它体积较大的文本文件,需要的朋友可以参考下 CSV大文件的读取已经在前面讲述过了(PHP按行读取、处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题。1、如何快速获取CSV大文件的总行数?办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行; 办法二:使用fgets一行一行...