fread(), fgets(), fgetc(), file_get_contents() and file() functions are used to read content from files.
fread() function is used to read files (safe for use with binary files).
Syntax:
string fread( int handle, int length )
fread() Reads up to length bytes from the file pointer handle. Reading of the file will stop when any of the following conditions are encountered:
When up to length bytes have been read
When the end of file (EOF) is reached
(for network streams) when a packet is available
or (when opening a userspace stream After) 8192 bytes have been read
Read 10 bytes from the file (including spaces):
<?php $filename = "data.txt"; $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
If you just want to read the contents of a file into a string, you should use file_get_contents() with better performance.
fgets() function is used to read one line of data from the file and point the file pointer to the next line.
Tip: If you want to remove the HTML tags in the file when reading, please use the fgetss() function.
Syntax:
string fgets( int handle [, int length] )
fgets() Reads a line from the file pointed to by handle and returns a string with a length of at most length-1 bytes. Stops on a newline character (included in the return value), EOF, or after length-1 bytes have been read. If length is not specified, it defaults to 1K, or 1024 bytes.
Example:
<?php $fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!"); // if条件避免无效指针 if($fh){ while(!feof($fh)) { echo fgets($fh), '<br />'; } } fclose($fh); ?>
feof() function tests whether the file pointer reaches the end of the file. The file pointer must be valid. If it is an invalid resource, then Will get stuck in an infinite loop. See "PHP File Pointer Function"
fgetc() function is used to read file data word by word until the end of the file.
语法:
string fgetc( resource handle )
例子:
<?php $fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!"); if($fh){ while(!feof($fh)) { echo fgetc($fh); } } fclose($fh); ?>
file_get_contents() 函数用于把 整个文件 读入一个字符串,成功返回一个字符串,失败则返回 FALSE。
语法:
string file_get_contents( string filename [, int offset [, int maxlen]] )
参数 | 说明 |
---|---|
filename | 要读取的文件名称 |
offset | 可选,指定读取开始的位置,默认为文件开始位置 |
maxlen | 可选,指定读取文件的长度,单位字节 |
例子:
<?php // 读取时同事将换行符转换成 <br /> echo nl2br(file_get_contents('data.txt')); ?>
file() 函数用于把 整个文件 读入一个数组中,数组中的每个单元都是文件中相应的一行,包括换行符在内。成功返回一个数组,失败则返回 FALSE。
语法:
array file( string filename )
例子:
<?php $lines = file('data.txt'); // 在数组中循环并加上行号 foreach ($lines as $line_num => $line) { echo "Line #{$line_num} : ",$line,'<br />'; } ?>
test.txt 文件内容:
你好! 这是第二行文字。
浏览器显示:
Line #0 : 你好! Line #1 : 这是第二行文字。
The above is the detailed content of PHP file reading fread, fgets, fgetc, file_get_contents and file function usage example code. For more information, please follow other related articles on the PHP Chinese website!