Home > Backend Development > PHP Tutorial > Write to Files and Read Files With PHP

Write to Files and Read Files With PHP

Christopher Nolan
Release: 2025-03-05 11:26:09
Original
992 people have browsed it

Write to Files and Read Files With PHP

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);
Copy after login

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'在书中出现了 " . $word_frequency["elephant"] . " 次。\n";
echo "单词'Ant'在书中出现了 " . $word_frequency["ant"] . " 次。\n";

if (isset($word_frequency["evolution"])) {
    echo "单词'Evolution'在书中出现了 " . $word_frequency["evolution"] . " 次。\n";
} else {
    echo "单词'Evolution'在书中一次也没有出现。\n";
}

arsort($word_frequency);
echo "该书中使用最多的单词是:'" . key($word_frequency) . "'。\n";

/* 以上所有代码的输出

该书大约有 147520 个单词:On the Origin of Species [Charles Darwin]。
该书中共有 22758 个独特的单词。
单词'Elephant'在书中出现了 3 次。
单词'Ant'在书中出现了 6 次。
单词'Evolution'在书中一次也没有出现。
该书中使用最多的单词是:'the'。
*/
Copy after login

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.

The first parameter of the

fopen function is used to get the file system pointer.

Example of using the

fopen function. fwriteFunction

fwriteFunction

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);
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template