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) . " 個單詞:" . substr($filename, 0, -4) . "。\n"; $word_frequency = array_count_values($individual_words); echo "該書中共有 " . count($word_frequency) . " 個獨特的單詞。\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 個單詞:On the Origin of Species [Charles Darwin]。 該書中共有 22758 個獨特的單詞。 單詞'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

Common problems and solutions for PHP variable scope include: 1. The global variable cannot be accessed within the function, and it needs to be passed in using the global keyword or parameter; 2. The static variable is declared with static, and it is only initialized once and the value is maintained between multiple calls; 3. Hyperglobal variables such as $_GET and $_POST can be used directly in any scope, but you need to pay attention to safe filtering; 4. Anonymous functions need to introduce parent scope variables through the use keyword, and when modifying external variables, you need to pass a reference. Mastering these rules can help avoid errors and improve code stability.

To safely handle PHP file uploads, you need to verify the source and type, control the file name and path, set server restrictions, and process media files twice. 1. Verify the upload source to prevent CSRF through token and detect the real MIME type through finfo_file using whitelist control; 2. Rename the file to a random string and determine the extension to store it in a non-Web directory according to the detection type; 3. PHP configuration limits the upload size and temporary directory Nginx/Apache prohibits access to the upload directory; 4. The GD library resaves the pictures to clear potential malicious data.

There are three common methods for PHP comment code: 1. Use // or # to block one line of code, and it is recommended to use //; 2. Use /.../ to wrap code blocks with multiple lines, which cannot be nested but can be crossed; 3. Combination skills comments such as using /if(){}/ to control logic blocks, or to improve efficiency with editor shortcut keys, you should pay attention to closing symbols and avoid nesting when using them.

AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or

The key to writing PHP comments is to clarify the purpose and specifications. Comments should explain "why" rather than "what was done", avoiding redundancy or too simplicity. 1. Use a unified format, such as docblock (/*/) for class and method descriptions to improve readability and tool compatibility; 2. Emphasize the reasons behind the logic, such as why JS jumps need to be output manually; 3. Add an overview description before complex code, describe the process in steps, and help understand the overall idea; 4. Use TODO and FIXME rationally to mark to-do items and problems to facilitate subsequent tracking and collaboration. Good annotations can reduce communication costs and improve code maintenance efficiency.

ToinstallPHPquickly,useXAMPPonWindowsorHomebrewonmacOS.1.OnWindows,downloadandinstallXAMPP,selectcomponents,startApache,andplacefilesinhtdocs.2.Alternatively,manuallyinstallPHPfromphp.netandsetupaserverlikeApache.3.OnmacOS,installHomebrew,thenrun'bre

In PHP, you can use square brackets or curly braces to obtain string specific index characters, but square brackets are recommended; the index starts from 0, and the access outside the range returns a null value and cannot be assigned a value; mb_substr is required to handle multi-byte characters. For example: $str="hello";echo$str[0]; output h; and Chinese characters such as mb_substr($str,1,1) need to obtain the correct result; in actual applications, the length of the string should be checked before looping, dynamic strings need to be verified for validity, and multilingual projects recommend using multi-byte security functions uniformly.

TolearnPHPeffectively,startbysettingupalocalserverenvironmentusingtoolslikeXAMPPandacodeeditorlikeVSCode.1)InstallXAMPPforApache,MySQL,andPHP.2)Useacodeeditorforsyntaxsupport.3)TestyoursetupwithasimplePHPfile.Next,learnPHPbasicsincludingvariables,ech
