PHP编程语言提供了不同的函数来编写文件。文件是一个容器,它包含并存储不同格式的数据,如简单的ASCII tet、二进制数据、XML数据等。即使数据库提供更结构化和易于使用的数据存储功能文件也可以提供更简单、快速和基本的数据存储功能。
创建一个文件
即使本教程是关于写一个文件在某些情况下,我们需要创建一个新的文件来写。因此,首先我们将创建一个文件,以便稍后将数据写入其中。我们将使用 fopen() 函数以创建文件。fopen()函数具有以下语法。
fopen(string $filename , string $mode , bool $use_include_path , resource $context)
- $文件名 必须提供文件名或包含文件名的完整路径。
- $模式 必须指定文件打开模式。为了创建新文件,可以使用w和w+模式。但是如果文件allready存在并且只包含数据,那么w+应该用于写操作。
- $useu includeu路径 和 $内容 是可选参数,一般不需要写操作。
在下面的示例中,我们将以写模式打开名为myfile.txt的文件。
<?php //Open file and create if doesn't exist and overwrite if exist $myfile = fopen("myfile.txt","w"); //Open file and create if doesn't exist and do not overwrite if exist $myfile = fopen("myfile.txt","w+");?>
我们将列出文件打开模式。
符号 | 模式 |
r | 以只读方式打开文件 |
右+ | 打开文件读写,将光标放在乞讨处 |
w | 只打开文件进行写入,删除现有数据 |
w型+ | 打开文件进行读写,删除现有数据 |
一 | 只打开文件进行写入将光标放在末尾,如果文件不存在,则创建 |
a+ | 打开文件进行读写,将光标放在文件末尾,如果文件不存在,则创建文件。 |
![图片[1]-如何用PHP编写文件?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/09/wisetut_image-15-1024x791.png)
使用fwrite()函数写入文件
写入() 是最常用的写文件的函数。在使用fwrite()函数之前,应该使用fopen()函数正确打开文件。函数的作用是:将给定的字符串值(简单文本)写入指定的打开文件。它有以下语法。
fwrite ( resource $handle , string $string , int $length )
- $句柄 是用fopen()函数打开的文件句柄或资源。此参数是必须的。
- $字符串 是要写入给定文件的文本值。此参数是必须的。
- $长度 参数用于指定给定$字符串应写入文件的字符数。此参数是可选的,如果未提供,字符串中的所有数据都将写入文件。
在下面的示例中,我们将把“I am wisetut.com”字符串写入名为myfile.txt的文件中。我们不会提供任何长度信息,这意味着所有提供的字符串将写入myfile.txt。
<?php //Open file and create if doesn't exist and overwrite if exist $myfile = fopen("myfile.txt","w"); //Create text we want to write $txt = "I am wisetut.com"; //Write given text into the file $fwrite($myfile,$txt); //Close file to write changes to the disk permanently $fclose($myfile);?>
通过在现有内容后添加来写入文件
如果我们想写一个现有内容的文件,不想覆盖和删除所有以前的内容,我们应该使用w+模式打开文件。在本例中,我们将向现有数据中添加文本。
<?php //Open existing file to add data. $myfile = fopen("myfile.txt","w+"); //Create text we want to write $txt = "I am wisetut.com"; //Add given text into the file $fwrite($myfile,$txt); //Close file to write changes to the disk permanently $fclose($myfile);?>
使用Fileu putu contents()函数写入文件
另一个可以用来写入文件的函数是 文件u放置u内容() 功能。fileu putu contents()函数提供了根据fwrite()函数编写文件的更实用的方法。它有以下语法,您不需要打开或关闭文件。因此,只有调用此函数才能将给定的文本放入给定的文件中,在fileu putu contents()函数期间,文件的打开和关闭将自动完成。
file_put_contents ( string $filename , mixed $data , int $flags = 0 , resource $context )
- $文件名 是要写入的文件名和路径。此参数是必须的。
- $数据 是要放入指定文件的数据。此参数是必须的,可以是不同的数据类型,如字符串、数组等。但在实际应用中,通常提供字符串数据。
- $标志 参数用于提供一些文件写入选项,如
FILE_USE_INCLUDE_PATH
,FILE_APPEND
,LOCK_EX
. 此参数是可选的。
在下面的示例中,我们将把“I am wisetut.com”写入名为myfile.txt的文件中。
<?php file_put_contents("myfiles.txt","I am wisetut.com");?>
如果再次调用fileu putu contents()函数,则包含一些数据的现有文件在默认情况下将删除所有现有数据。希望 文件u追加 选项可用于将提供的文本添加到文件中的现有文本中。在下面的示例中,我们将在myfile中的现有文本之后添加文本“I am poftut.com”。
<?php file_put_contents("myfiles.txt","I am Wisetut.com",FILE_APPEND);?>
fwrite()与fileu putu contents()的比较
即使是文件内容也很实用,有一些缺点。每次调用fileu putu contents()函数时,只要写入字符串并关闭文件,就会打开给定的文件。这将为多个写操作创建开销。如果需要更快地编写多行代码,应该使用fwrite()函数。根据不同的 基准 ,fwrite()函数比fileu putu contents()函数快3倍。
如何编写文本文件?
最流行的PHP写入文件示例之一是写入文本文件。有两种方法可以写入文本文件。首先,我们可以用fopen()方法打开一个文件,写fwrite()方法,然后用fclose()方法关闭,如下所示。
<?php
//Open existing file to add data.
$myfile = fopen("textfile.txt","w+");
//Create text we want to write
$txt = "I am wisetut.com";
//Add given text into the file
$fwrite($textfile,$txt);
//Close file to write changes to the disk permanently
$fclose($textfile);
?>
或者更实用的方法是使用fileu putu contents()方法,在该方法中,这个方法可以写入给定的文本文件。
<?php
//Write into text file and overwrite existing contentfile_put_contents("textfile.txt","I am Wisetut.com");
//Write into a text file and append existing contentfile_put_contents("textfile.txt","I am Wisetut.com",FILE_APPEND);
?>
如何用PHP编写日志文件?
日志用于存储有关操作系统、应用程序、服务、用户等的重要事件。日志文件通常以结构化方式存储为简单文本文件。我们可以使用PHP语言编写日志文件,以便在web应用程序中使用。日志文件通常存储在 /变量/对数/ 或 /var/www/app1号文件 等等,我们添加了一个新的日志文件和一些分隔符,如 ; 或 | 或 : 等。
<?php
//Write into a log file name logs.txt
$log = "User ali:date 12-12-2020:action remove:resource /test";file_put_contents("/var/www/app1/logs.txt",$log,FILE_APPEND);
?>