Home > Backend Development > PHP Tutorial > PHP file_put_contents Write or append string to file_PHP tutorial

PHP file_put_contents Write or append string to file_PHP tutorial

WBOY
Release: 2016-07-13 10:48:48
Original
1919 people have browsed it

In php, the file_put_contents function can write our string into a file. This is a bit the same as the php fwrite file. Let me take a look at the difference between the usage of file_put_contents and fwrite.

PHP file_put_contents() function is the most suitable choice for writing strings or appending string contents to a file at once.

file_put_contents()

The file_put_contents() function is used to write a string into a file. If successful, it will return the number of bytes of data written into the file. If it fails, it will return FALSE

Example:

The code is as follows Copy code
 代码如下 复制代码

echo file_put_contents("test.txt", "This is something.");
?>

echo file_put_contents("test.txt", "This is something.");

?>


Run this example, the browser output:

18

The content of the test.txt file (in the same directory as the program) is: This is something..


Tips

•If the file does not exist, create the file, which is equivalent to the fopen() function behavior.
•If the file exists, the contents of the file will be cleared by default. You can set the flags parameter value to FILE_APPEND to avoid this (see below).

•This function is safe to use on binary objects.
 代码如下 复制代码

file_put_contents("test.txt", "This is another something.", FILE_APPEND);
?>

Write content as append

When the flags parameter value is set to FILE_APPEND, it means writing new data by appending content after the existing file content:

The code is as follows Copy code

file_put_contents("test.txt", "This is another something.", FILE_APPEND);

?>

After executing the program, the content of the test.txt file becomes: This is something.This is another something.

 代码如下 复制代码

$filename = 'file.txt';
$word = "你好!rnwebkaka"; //双引号会换行 单引号不换行
file_put_contents($filename, $word);
?>

The behavior of file_put_contents() is actually equivalent to calling fopen(), fwrite() and fclose() in sequence.

So what is the difference between file_put_contents and fwrite
 代码如下 复制代码

$filename = 'file.txt';
$word = "你好!rnwebkaka"; //双引号会换行 单引号不换行
$fh = fopen($filename, "w"); //w从开头写入 a追加写入
echo fwrite($fh, $word);
fclose($fh);
?>

The following is the example code of file_put_contents:
The code is as follows Copy code
$filename = 'file.txt';<🎜> $word = "Hello!rnwebkaka"; //Double quotation marks will wrap, single quotation marks will not wrap <🎜> file_put_contents($filename, $word);<🎜> ?>
Example code for using fwrite for the same function:
The code is as follows Copy code
$filename = 'file.txt';<🎜> $word = "Hello!rnwebkaka"; //Double quotes will wrap, single quotes will not wrap <🎜> $fh = fopen($filename, "w"); //w is written from the beginning and a is appended and written <🎜> echo fwrite($fh, $word);<🎜> fclose($fh);<🎜> ?>

As can be seen from the above two examples, file_put_contents is actually a simplified writing method of fopen, fwrite, and fclose. This is beneficial to the optimization of program code. On the one hand, the amount of code is reduced, on the other hand There will be no loose code missed by fclose, which is much more convenient for debugging and maintenance.

In the above example, file_put_contents is written from the beginning. What should I do if I want to write additionally?

In the syntax of file_put_contents, there is a parameter FILE_APPEND, which is a statement for additional writing. The example code is as follows:

The code is as follows
 代码如下 复制代码

echo file_put_contents('file.txt', "This is another something.", FILE_APPEND);
?>

Copy code

 代码如下 复制代码

echo file_put_contents('file.txt', "This is another something.", FILE_APPEND|LOCK_EX);
?>

echo file_put_contents('file.txt', "This is another something.", FILE_APPEND);
?>

FILE_APPEND is a statement for append writing. When appending to write, in order to avoid other people operating at the same time, it is often necessary to lock the file. In this case, you need to add an additional LOCK_EX statement, which is written as follows:
The code is as follows

Copy code
echo file_put_contents('file.txt', "This is another something.", FILE_APPEND|LOCK_EX);
?> Note that in the above code, what echo outputs to the display is the length of the string written to the file http://www.bkjia.com/PHPjc/632746.html
www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632746.htmlTechArticleThe file_put_contents function in php can write our string into the file. This is the same as the php fwrite file There is one thing the same. Let me take a look at the usage of file_put_contents and...
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template