Home >Backend Development >PHP Problem >How to write files without overwriting in php
Method: 1. Use "file_put_contents(file name,'data',FILE_APPEND)"; 2. Use "fwrite(fopen(file name,'a'),'data')", fopen() Files can be opened in append mode, and fwrite() can write data in the opened file.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
How to implement files in php Writing without overwriting
In PHP, if you want to write a file without overwriting, you can do so by appending data to the end of the file.
PHP supports two methods of appending data to the end of the file:
Use the file_put_contents() function
Use fopen( ) and fwrite() function
There is a text file named "test.txt", the content of which is:
Let’s see how to write data to a file (without overwriting):
Method 1: Use the file_put_contents() function to append data
The file_put_contents() function can The string is written to the file. The syntax format is as follows:
file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])
The parameter description is as follows:
|
operator combination): Set the third parameter of the file_put_contents() function to "FILE_APPEND
" to append data instead of overwriting.
Example:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; file_put_contents($file, '欢迎来到PHP中文网!33',FILE_APPEND); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
Method 2: Use fopen() and fwrite() functions to append data
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'a'); //以追加写入的模式打开文件 fwrite($handle, '//m.sbmmt.com/'); //写入内容 fclose($handle);//关闭文件 readfile($file); //读取并输出文件全部内容 ?>
Key code analysis:
fopen($filename, $mode)
The function can follow the specified file mode$ mode
Open a file. When $mode
is a
or a
, set the file pointer to the end of the file when opening the file; in this way, when writing, the data will be appended to Behind the existing data.
fwrite()
The function can write a string to an open file, so fwrite($handle, 'https://www .php.cn/')
statement is to write the string "//m.sbmmt.com/" into the already opened "test.txt".
After writing is completed, use the fclose() function to close the file. If you want to get the new content in the "test.txt" file, use the readfile($file)
function to get it directly.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to write files without overwriting in php. For more information, please follow other related articles on the PHP Chinese website!