php file_get_contents method of reading large-capacity files,
When we encounter a large text file, such as a large file exceeding tens of megabytes or even hundreds of megabytes or several gigabytes, it is often impossible to open it successfully with Notepad or other editors, because they all need to put all the file contents into the memory. , then a memory overflow will occur and an opening error will occur. In this case, we can use PHP's file reading function file_get_contents() to read in segments.
Function description
string file_get_contents ( string $filename [, bool $use_include_path
[, resource $context [, int $offset [, int $maxlen ]]]] )
Same as file(), except
file_get_contents() reads the file into a string. Will start reading at the position specified by the parameter offset with a length of maxlen
content. On failure, file_get_contents() returns FALSE.
The file_get_contents() function is the preferred method for reading the contents of a file into a string. If the operating system supports it, memory mapping technology will also be used to enhance performance.
Application:
The code is as follows |
Copy code |
代码如下 |
复制代码 |
$str = $content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024); echo
$str;
|
$str = $content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024);echo
$str;
|
If you just want to read a smaller file in segments and finish reading it, you can use the fread() function
代码如下 |
复制代码 |
$fp=fopen('2.sql','r'); while
(!feof($fp)){ $str.=fread($fp, filesize
($filename)/10);//每次读出文件10分之1 //进行处理 }
echo $str;
|
The code is as follows |
Copy code |
$fp=fopen('2.sql','r');while
(!feof($fp)){ $str.=fread($fp, filesize
($filename)/10);//Read 1/10 of the file each time
//Process }
echo $str;
|
Original: http://www.111cn.net/phper/php/41876.htm
http://www.bkjia.com/PHPjc/909745.html
www.bkjia.comtrueTechArticlephp file_get_contents method for reading large-capacity files, when we encounter text files that are very large, such as more than dozens Large files of M or even hundreds of M or several G can be opened with Notepad or other editors...