Summary of usage examples of functions for reading files in PHP
Recently sorted out several common ways to read files in PHP and paid attention to some codes, as follows:
You can use fopen and ## to read files in PHP #file_get_contentsThere is no essential difference between these two functions, except that the php code for reading files in the former is a little more complicated than the latter.
<?php $file_name = "1.txt"; echo $file_name . ""; $fp = fopen($file_name, 'r'); //$buffer=fgets($fp); while (!feof($fp)) { $buffer = fgets($fp); echo $buffer; } fclose($fp); ?>
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 string read, or 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 For example:
<?php $handle = fopen('http://www.baidu.com', 'r'); $content = ''; while(!feof($handle)){ $content .= fread($handle, 8080); } echo $content; fclose($handle); ?>or:
<?php $handle = fopen('http://www.baidu.com', 'r'); $content = ''; while(false != ($a = fread($handle, 8080))){//返回false表示已经读取到文件末尾 $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 byte. 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 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 did not.
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.<?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 ]] )
<?php $a = file('./file.txt'); foreach($a as $line => $content){ echo 'line '.($line + 1).':'.$content; } ?>
5.readfile
Read a file and write it to the output buffer. Returns the number of bytes read from the file. If an error occurs, FALSE is returned and an
error message is displayed unless called as @readfile(). <?php
$size = readfile('./file.txt');
echo $size;
?>
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 given priority. But readfile seems to have better performance than file_get_contents (?), because it does not need to call fopen.<?php $ctx = stream_context_create(array( 'http' => array( 'timeout' => 1 //设置超时 ) ) ); echo file_get_contents("http://www.baidu.com/", 0, $ctx); ?>
7.fpassthru
int fpassthru ( resource $handle )
Change the given file pointer from the current The position is read to EOF and the result is written to the output buffer.
<?php header("Content-Type:text/html;charset=utf-8"); $handle = fopen('./test2.php', 'r'); fseek($handle, 1024);//将指针定位到1024字节处 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, including the name and settings of each section in the
config file. The default value for process_sections is FALSE. Notice:
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 the ini file, 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 {}|&~
Load balancing affects session management, but can be resolved with session replication, session stickiness, and centralized session storage. 1. Session Replication Copy session data between servers. 2. Session stickiness directs user requests to the same server. 3. Centralized session storage uses independent servers such as Redis to store session data to ensure data sharing.

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

Alternatives to PHP sessions include Cookies, Token-based Authentication, Database-based Sessions, and Redis/Memcached. 1.Cookies manage sessions by storing data on the client, which is simple but low in security. 2.Token-based Authentication uses tokens to verify users, which is highly secure but requires additional logic. 3.Database-basedSessions stores data in the database, which has good scalability but may affect performance. 4. Redis/Memcached uses distributed cache to improve performance and scalability, but requires additional matching

Sessionhijacking refers to an attacker impersonating a user by obtaining the user's sessionID. Prevention methods include: 1) encrypting communication using HTTPS; 2) verifying the source of the sessionID; 3) using a secure sessionID generation algorithm; 4) regularly updating the sessionID.

The article discusses PHP, detailing its full form, main uses in web development, comparison with Python and Java, and its ease of learning for beginners.

PHP handles form data using $\_POST and $\_GET superglobals, with security ensured through validation, sanitization, and secure database interactions.

The article compares PHP and ASP.NET, focusing on their suitability for large-scale web applications, performance differences, and security features. Both are viable for large projects, but PHP is open-source and platform-independent, while ASP.NET,

PHP's case sensitivity varies: functions are insensitive, while variables and classes are sensitive. Best practices include consistent naming and using case-insensitive functions for comparisons.


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

Atom editor mac version download
The most popular open source editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1
Powerful PHP integrated development environment
