PHP 文件


2021年12月18日, Learn eTutorial
2027

在本 PHP 教程中,您将学习有关 PHP 中文件处理的所有知识。我们将详细讨论不同的文件处理函数,如 fopen()、fclose()、fwrite()、fread()。

PHP 中的文件处理是什么意思? 

PHP 中的文件处理用于创建文件、读取文件、写入文件、向文件追加内容以及关闭和删除系统中的文件。
文件处理中使用的函数有

  1.    fopen() – 打开文件
  2.    fread() – 读取文件
  3.    fwrite() – 写入或更新文件
  4.    fclose() – 关闭文件

如何在 PHP 中打开文件? 

PHP fopen() 函数打开文件或 URL 并返回一个资源。'filename' 和 'mode' 是 fopen() 方法的两个参数。'filename' 变量表示要打开的文件,'mode' 变量表示文件模式,例如只读、读写或只写。

语法


fopen(filename, mode);

示例


$file = fopen("c:\\folder\\file.txt", "r");

文件打开模式

模式

描述

r

它指定文件以读取方式打开。指针从文件开头开始。

r+

它指定文件以读取写入方式打开。指针从文件开头开始。

w

它指定文件以写入方式打开。指针从文件开头开始。如果找不到文件,它将创建一个文件。

w+

它指定文件以写入读取方式打开。指针从文件开头开始。如果找不到文件,它将创建一个文件。

a

它指定文件以写入方式打开。指针从文件末尾开始。如果找不到文件,它将创建一个文件。

a+

它指定文件以写入读取方式打开。指针从文件末尾开始。如果找不到文件,它将创建一个文件。

x

它指定创建文件用于写入。如果文件已存在,则返回 FALSE。

x+

它指定创建文件用于写入读取。如果文件已存在,则返回 FALSE。

如何在 PHP 中读取文件?

fread() 函数用于从指定文件中读取数据。PHP 有各种用于从文件中读取数据的函数。有读取完整文件数据、逐行读取数据和逐字符读取数据的方法。
用于从文件中读取数据的函数有

  1.    fread()
  2.    fgets()
  3.    fgetc()

使用 fread() 读取文件

要使用 fread() 读取文件,我们必须传递两个参数:第一个是文件名,第二个是数据的长度。

语法


fread (file , length ) ;

示例:文件“file.txt”


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL


文件“file_handling.php”


$file = fopen("c:\\folder\\file.txt", "r");
$file_data = fread($file, filesize("c:\\folder\\file.txt "));
echo "$file_data";
fclose($file);

输出


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL

在上面的示例中,我们可以看到我们打开了一个外部文件“file.txt”,其中包含流行编程语言的数据,我们可以看到使用 fread() 函数,我们能够读取该文件中的数据。

使用 fgets() 读取文件

使用 fgets() 读取文件用于从指定文件中读取单行。

语法


fgets(file);

示例:文件“file.txt”


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL


文件“file_handling.php”


$file = fopen("c:\\folder\\file.txt", "r");
$file_data = fgets($file);
echo "$file_data";
fclose($file);

输出


Popular Programming languages

在上面的示例中,我们可以看到我们使用了 fgets() 函数来读取文件,并且它只读取了指定文件的第一行。

使用 fgetc() 读取文件

使用 fgets() 读取文件用于从指定文件中读取单个字符。要使用 fgetc() 函数获取所有数据,请在 while 循环中使用 !feof() 函数。

语法


fgets(file);

示例:文件“file.txt”


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL


文件“file_handling.php”


$file = fopen("c:\\folder\\file.txt", "r");
$file_data = fgetc($file);
echo "$file_data";
fclose($file);

输出


P

在上面的示例中,我们可以看到我们使用了 fgetc() 函数来读取文件,并且它只读取了指定文件的第一个字符。

例如,通过使用 while 循环


$file = fopen("c:\\folder\\file.txt", "r");
while (!feof($file)) {
    echo fgetc($file);
}
fclose($file);

示例:文件“file.txt”


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL


输出


Popular Programming languages
1) Python
2) JavaScript
3) Java
4) PHP
5) TypeScript
6) Go
7) Flutter
8) C++
9) C#
10) SQL

如何在 PHP 中写入文件? 

要将数据写入文件,使用 PHP fwrite() 和 fputs() 方法。要将数据写入文件,我们必须指定任何 w、r+、w+、x、x+ 模式。
PHP fwrite() 方法用于将字符串内容写入文件。
如果我们在 w、w+、r+、x、x+ 模式下打开文件,并且当我们调用 fwrite() 方法时,文件中的先前数据将被擦除,并写入新数据。如果文件不存在,它将创建一个新文件并写入其中。
语法


fwrite(file, string);

示例


$file = fopen("file.txt", "w");
fwrite($file, "Welcome to learnetutorials.com");
fclose($file);

此程序将创建包含以下内容的新文件

输出


Welcome to learnetutorials.com

如何在 PHP 中追加文件?

使用 fopen() 方法中的 a 或 a+ 模式,我们可以将数据追加到文件中。PHP fwrite() 方法用于将字符串内容追加到指定文件。通过这种方式,我们可以向文件中添加新字符串,而不是覆盖它。

语法


fwrite(file, string););

示例


$file = fopen("file.txt", "a");
fwrite($file, "Where you learn programming");
fclose($file);

代码执行前的“file.txt”


Welcome to learnetutorials.com!

代码执行后的“file.txt”


Welcome to learnetutorials.com! Where you learn programming

如何在 PHP 中关闭文件?

我们使用 fclose() 函数关闭脚本中打开的文件。在完成文件操作后关闭所有文件是一种合适的编程习惯。

语法


fclose(file);

示例


$file = fopen("file.txt", "a");
fclose($file);

如何在 PHP 中删除文件?

在 PHP 中,要删除文件,我们使用 unlink() 函数。unlink() 方法只接受一个参数,即文件名。如果文件未被删除,PHP unlink() 将返回 E_WARNING 错误。如果文件成功删除,则返回 TRUE;否则,返回 FALSE。 

语法


unlink(file);

示例


$deletion = unlink('file.txt');
if ($deletion) {
    echo "The file have been successfully deleted";
} else {
    echo "The file has not been deleted";
}

输出


It will return the message and the file will be deleted