


8 methods and code examples for reading files in PHP, _PHP tutorial
8 methods and code examples for reading files in PHP,
I have sorted out several methods of reading files in PHP for easy reference in the future.
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, or FALSE if an error occurs.
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");//When reading a binary file, you need to set the second parameter to 'rb'
//Get the file size through filesize and read the entire file into a string at once
$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 time, you need to use the return value of feof() or fread() to determine whether the end of the file has been read.
For example:
$handle = fopen('http://www.baidu.com', 'r');
$content = '';
While(!feof($handle)){
$content .= fread($handle, 8080);
}
echo $content;
fclose($handle);
?>
or:
$handle = fopen('http://www.baidu.com', 'r');
$content = '';
While(false != ($a = fread($handle, 8080))){//Returning false indicates that the end of the file has been read
$content .= $a;
}
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 with a length of at most length - 1 bytes. 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.
$handle = fopen('./file.txt', 'r');
While(!feof($handle)){
echo fgets($handle, 1024);
}
fclose($handle);
?>
Note: The length parameter is 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 ]] )
Same function as fgets, but fgetss will try to remove any HTML and PHP tags from the read text. You can use the optional third parameter to specify which tags are not to be removed.
$handle = fopen('./file.txt', 'r');
While(!feof($handle)){
echo fgetss($handle, 1024, '
');
}
fclose($handle);
?>
4.file
array file ( string $filename [, int $use_include_path [, resource $context ]] )
Read the file contents 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.
$a = file('./file.txt');
foreach($a as $line => $content){
echo 'line '.($line + 1).':'.$content;
}
?>
5.readfile
int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )
Read in a file and write to the output buffer. Returns the number of bytes read from the file. Returns FALSE on error and displays an error message unless called as @readfile().
$size = readfile('./file.txt');
echo $size;
?>
6.file_get_contents
string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )
Read the file into a string. The third parameter $context can be used to set some parameters, such as setting timeout when accessing remote files, etc.
In addition, file_get_contents has much better performance than the above functions, so file_get_contents should be used first. But readfile seems to have better performance than file_get_contents (?), because it does not need to call fopen.
$ctx = stream_context_create(array(
'http' => array(
'timeout' => )
)
);
echo file_get_contents("http://www.baidu.com/", 0, $ctx);
?>
7.fpassthru
int fpassthru ( resource $handle )Read the given file pointer from the current position to EOF and write the result to the output buffer.
$handle = fopen('./test2.php', 'r');
fseek($handle, 1024);//Locate the pointer to 1024 bytes
fpassthru($handle);
?>
8.parse_ini_file
array parse_ini_file ( string $filename [, bool $process_sections ] )parse_ini_file() loads an ini file specified by filename and returns its settings as an associative array. If you set the final process_sections parameter to TRUE, you will get a multidimensional array containing the name and settings of each section in the configuration file. The default value for process_sections is FALSE.
Note:
1. If the value in the ini file contains any non-alphanumeric characters, it needs to be enclosed in double quotes (").
2. Some reserved words cannot be used as key names in ini files, including: null, yes, no, true and false. The values null, no and false are equivalent to "", and the values yes and true are equivalent to "1". The characters {}|&~![()" also cannot be used anywhere in key names, and these characters have special meaning in option values.
test.ini file content:
; Comments start with ';', as in php.ini
[first_section]
one = 1
five = 5
animal = BIRD
path = "/usr/local/bin"
URL = "http://www.example.com/~username
Print_r($config);
?>
Output content:
Array
(
[first_section] => Array
(
[one] => 1
[five] => 5
[animal] => )
[second_section] => Array
(
[path] =>
[URL] => http://www.example.com/~username
)
)
1. Encourage the use of the b flag when processing binary files, even if the system does not require it, so as to make the script more portable.
2. The allow_url_fopen option activates the URL form of the fopen encapsulation protocol so that URL objects such as files can be accessed. The default encapsulation protocol provides access to remote files using the ftp and http protocols. Some extension libraries such as zlib may register more encapsulation protocols. For security reasons, this option can only be set in php.ini.
3. If you want to open a URL with special characters (for example, spaces), you need to use urlencode() for URL encoding.
http://www.bkjia.com/PHPjc/858749.html

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
