Home >Backend Development >PHP Problem >How to read document content in php
Several ways to read document content in PHP
##1.fread
string fread ( int $handle , int $length )fread() Reads up to length bytes from the file pointed to by handle. This function is called after reading up to length bytes, or when EOF is reached, or (for network streams) when a packet is available, or (after opening a user space stream) 8192 bytes have been read. Will stop reading the file, depending on which condition is encountered first.
fread() returns the read string, and returns FALSE if an error occurs.
<?php $filename = "/usr/local/something.txt"; $handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb' //通过filesize获得文件大小,将整个文件一下子读到一个字符串中 $contents = fread($handle, filesize ($filename)); fclose($handle); ?>If the file to be read is not a local ordinary file, but a remote file or stream file, this method cannot be used, because filesize cannot obtain the size of these files. At this point, you need to use the return value of feof() or fread() to determine whether the end of the file has been read.
For example:
<?php $handle = fopen('http://www.baidu.com', 'r'); $content = ''; while(!feof($handle)){ $content .= fread($handle, 8080); } echo $content; fclose($handle); ?>
2.fgets
string fgets ( int $handle [, int $length ] )fgets() reads a line from the file pointed to by handle and Returns a string up to length - 1 bytes long. Stops when a newline character (included in the return value), EOF, or length - 1 bytes has been read (whichever occurs first). If length is not specified, it defaults to 1K, or 1024 bytes.
<?php $handle = fopen('./file.txt', 'r'); while(!feof($handle)){ echo fgets($handle, 1024); } fclose($handle); ?>
Note: The
length parameter becomes optional as of PHP 4.2.0, if omitted, the length of the line is assumed to be 1024. Starting with PHP 4.3, omitting length will continue reading from the stream until the end of the line. If most of the lines in the file are larger than 8KB, specifying the maximum line length in the script is more efficient in utilizing resources. Starting with PHP 4.3 this function is safe for use with binary files. Earlier versions don't.3.fgetss
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )The same function as fgets, but fgetss will try to remove any HTML and PHP tags from the read text, you can use the optional first Three parameters specify which tags are not to be removed.
<?php $handle = fopen('./file.txt', 'r'); while(!feof($handle)){ echo fgetss($handle, 1024, '<br>'); } fclose($handle); ?>
4.file
array file ( string $filename [, int $use_include_path [, resource $context ]] )Read the file content into an array. Each item in the array corresponds to a line in the file, including newlines. You can use the rtrim() function to filter out newline characters when line terminators are not required.
<?php $a = file('./file.txt'); foreach($a as $line => $content){ echo 'line '.($line + 1).':'.$content; } ?>Recommended tutorial:
The above is the detailed content of How to read document content in php. For more information, please follow other related articles on the PHP Chinese website!