This tutorial will introduce several important file read and write functions in PHP, which are enough to meet your basic read and write needs. You will learn how to read files, write files, write text files, and check if the files exist.
As a PHP developer, file processing is an action you often need to do.
You can use PHP file processing functions to manipulate files in many ways. These functions can be used to build a variety of functions in your application, from custom error logging to storing cached files. Examples of utility tools that you can build with these functions include:
- Custom logging and debugging tools
- Application Configuration Storage
- Front end and application cache
- Localization support
- Wait
Luckily, PHP provides many functions to read and write file data. In this tutorial, I will show you the easiest way to read local or remote file data and how to use flags to write files accurately.
$filename = 'https://www.gutenberg.org/cache/epub/1228/pg1228.txt'; $book_content = file_get_contents($filename); file_put_contents('Biology/Evolution/On the Origin of Species [Charles Darwin].txt', $book_content, LOCK_EX);
You can save the content of a website such as web pages or Wikipedia in a similar way. If you need to understand HTML or parse HTML content you just saved locally, you can refer to a tutorial similar to "Parase HTML with DiDOM", which will help you automatically get links, image files, or any other such information from a web page.
Now let's go back to the local file. Suppose you have a bunch of text files and you want to analyze their content to see information such as the most common words. This can be easily implemented using many built-in PHP functions.
$filename = 'On the Origin of Species [Charles Darwin].txt'; $book_content = file_get_contents($filename); $book_content_lowercase = strtolower($book_content); $individual_words = explode(' ', $book_content_lowercase); echo "該書大約有 " . count($individual_words) . " 個(gè)單詞:" . substr($filename, 0, -4) . "。\n"; $word_frequency = array_count_values($individual_words); echo "該書中共有 " . count($word_frequency) . " 個(gè)獨(dú)特的單詞。\n"; echo "單詞'Elephant'在書中出現(xiàn)了 " . $word_frequency["elephant"] . " 次。\n"; echo "單詞'Ant'在書中出現(xiàn)了 " . $word_frequency["ant"] . " 次。\n"; if (isset($word_frequency["evolution"])) { echo "單詞'Evolution'在書中出現(xiàn)了 " . $word_frequency["evolution"] . " 次。\n"; } else { echo "單詞'Evolution'在書中一次也沒有出現(xiàn)。\n"; } arsort($word_frequency); echo "該書中使用最多的單詞是:'" . key($word_frequency) . "'。\n"; /* 以上所有代碼的輸出 該書大約有 147520 個(gè)單詞:On the Origin of Species [Charles Darwin]。 該書中共有 22758 個(gè)獨(dú)特的單詞。 單詞'Elephant'在書中出現(xiàn)了 3 次。 單詞'Ant'在書中出現(xiàn)了 6 次。 單詞'Evolution'在書中一次也沒有出現(xiàn)。 該書中使用最多的單詞是:'the'。 */
We convert all text to lowercase and assume that each word breaks in spaces. Then use the fread
and fread()
functions to convert the text into an array.
fopen
function.
fopen
function is used to get the file system pointer.
fopen
function. fwrite
Function
fwrite
Function
Let's look at the following example to see how fwrite
works.
$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'a+'); fwrite($file_handle, 'Tuts+ is a great online resource to learn skills you want!'); fwrite($file_handle, "\n"); fwrite($file_handle, 'Visit tutsplus.com to know more!'); fclose($file_handle);
First, we open the a
/home/tusplus/files/tmp.txt file in mode, which opens the file for reading and writing, and the file pointer is at the end of the file. Therefore, our content will be appended to the end of the file, after any other content. Next, we use the fwrite
function to write a string.
As shown in the above example, you can use the fwrite
function to write a series of strings multiple times before closing the file.
Finally, we use the fclose
function to close the file. It only accepts one parameter, the file pointer you want to close. Once the file operation is completed, it is always recommended to use the fclose
function to close the file.
Finally Thinking
There are many other ways to read and write file data in PHP. However, file_get_contents()
and file_put_contents()
will meet almost all of your basic needs without adding unnecessary complexity.
You may only encounter the problem with file_get_contents()
when the file you are reading is very large (e.g., size is 2GB or larger). This is because file_get_contents()
will load the entire file into memory immediately, and for such a large file, it is likely to run out of memory. In this case, you have to rely on functions like fgets()
and fread()
to read a small part of the file at once.
The above is the detailed content of Write to Files and Read Files With PHP. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

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

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

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

ToversionaPHP-basedAPIeffectively,useURL-basedversioningforclarityandeaseofrouting,separateversionedcodetoavoidconflicts,deprecateoldversionswithclearcommunication,andconsidercustomheadersonlywhennecessary.StartbyplacingtheversionintheURL(e.g.,/api/v

TosecurelyhandleauthenticationandauthorizationinPHP,followthesesteps:1.Alwayshashpasswordswithpassword_hash()andverifyusingpassword_verify(),usepreparedstatementstopreventSQLinjection,andstoreuserdatain$_SESSIONafterlogin.2.Implementrole-basedaccessc

Proceduralandobject-orientedprogramming(OOP)inPHPdiffersignificantlyinstructure,reusability,anddatahandling.1.Proceduralprogrammingusesfunctionsorganizedsequentially,suitableforsmallscripts.2.OOPorganizescodeintoclassesandobjects,modelingreal-worlden

PHPdoesnothaveabuilt-inWeakMapbutoffersWeakReferenceforsimilarfunctionality.1.WeakReferenceallowsholdingreferenceswithoutpreventinggarbagecollection.2.Itisusefulforcaching,eventlisteners,andmetadatawithoutaffectingobjectlifecycles.3.YoucansimulateaWe

To safely handle file uploads in PHP, the core is to verify file types, rename files, and restrict permissions. 1. Use finfo_file() to check the real MIME type, and only specific types such as image/jpeg are allowed; 2. Use uniqid() to generate random file names and store them in non-Web root directory; 3. Limit file size through php.ini and HTML forms, and set directory permissions to 0755; 4. Use ClamAV to scan malware to enhance security. These steps effectively prevent security vulnerabilities and ensure that the file upload process is safe and reliable.

Yes, PHP can interact with NoSQL databases like MongoDB and Redis through specific extensions or libraries. First, use the MongoDBPHP driver (installed through PECL or Composer) to create client instances and operate databases and collections, supporting insertion, query, aggregation and other operations; second, use the Predis library or phpredis extension to connect to Redis, perform key-value settings and acquisitions, and recommend phpredis for high-performance scenarios, while Predis is convenient for rapid deployment; both are suitable for production environments and are well-documented.

In PHP, the main difference between == and == is the strictness of type checking. ==Type conversion will be performed before comparison, for example, 5=="5" returns true, and ===Request that the value and type are the same before true will be returned, for example, 5==="5" returns false. In usage scenarios, === is more secure and should be used first, and == is only used when type conversion is required.

The methods of using basic mathematical operations in PHP are as follows: 1. Addition signs support integers and floating-point numbers, and can also be used for variables. String numbers will be automatically converted but not recommended to dependencies; 2. Subtraction signs use - signs, variables are the same, and type conversion is also applicable; 3. Multiplication signs use * signs, which are suitable for numbers and similar strings; 4. Division uses / signs, which need to avoid dividing by zero, and note that the result may be floating-point numbers; 5. Taking the modulus signs can be used to judge odd and even numbers, and when processing negative numbers, the remainder signs are consistent with the dividend. The key to using these operators correctly is to ensure that the data types are clear and the boundary situation is handled well.
