Home >Backend Development >PHP Problem >How to write files without overwriting in php

How to write files without overwriting in php

青灯夜游
青灯夜游Original
2022-04-15 20:05:153745browse

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.

How to write files without overwriting in php

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:

How to write files without overwriting in php

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:

  • $filename: the file name to which data is to be written;
  • $data: The data to be written can be a string, one-dimensional array or resource type;
  • $flags: Optional parameter, its value can be the following (you can use | operator combination):
    • FILE_USE_INCLUDE_PATH: Search for $filename in the include directory.
    • FILE_APPEND: If file $filename already exists, append data instead of overwriting.
    • LOCK_EX: Obtain an exclusive lock while writing.
  • $context: Optional parameter, a context resource.

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, &#39;欢迎来到PHP中文网!33&#39;,FILE_APPEND);    //写入内容
readfile($file);   //读取并输出文件全部内容
?>

How to write files without overwriting in php

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, &#39;a&#39;);                 //以追加写入的模式打开文件
fwrite($handle, &#39;https://www.php.cn/&#39;);    //写入内容
fclose($handle);//关闭文件
readfile($file);   //读取并输出文件全部内容
?>

How to write files without overwriting in php

Key code analysis:

  • fopen($filename, $mode)The function can follow the specified file mode$ modeOpen 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 "https://www.php.cn/" 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!

Statement:
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