PHP 文件和I/O

PHP 文件和I/O

这一章节将解释与文件相关的以下函数:

  • 打开文件
  • 读取文件
  • 写入文件
  • 关闭文件

打开和关闭文件

PHP的 fopen() 函数用于打开文件。它需要两个参数,第一个参数是文件名,第二个参数是操作模式。

文件模式可以指定为表格中的六个选项之一。

序号 模式与目的
1 r 以只读方式打开文件。 将文件指针置于文件的开头。
2 r+ 以读写方式打开文件。 将文件指针置于文件的开头。
3 w 以只写方式打开文件。 将文件指针置于文件的开头。 并将文件截断为零长度。如果文件不存在,则尝试创建文件。
4 w+ 以读写方式打开文件。 将文件指针置于文件的开头。 并将文件截断为零长度。如果文件不存在,则尝试创建文件。
5 a 以只写方式打开文件。 将文件指针置于文件的末尾。 如果文件不存在,则尝试创建文件。
6 a+ 以读写方式打开文件。 将文件指针置于文件的末尾。 如果文件不存在,则尝试创建文件。

如果尝试打开文件失败,则 fopen 返回一个值 false ,否则它返回一个 文件指针 ,用于进一步读取或写入该文件。

在对打开的文件进行更改后,使用 fclose() 函数将其关闭是很重要的。 fclose() 函数需要一个文件指针作为参数,然后在关闭成功时返回 true ,如果关闭失败则返回 false

读取文件

一旦使用 fopen() 函数打开文件,可以使用一个叫做 fread() 的函数来读取文件。这个函数需要两个参数。这些参数必须是文件指针和以字节表示的文件长度。

文件长度可以使用 filesize() 函数来获取,该函数以文件名作为参数,并返回以字节表示的文件大小。

因此,以下是使用PHP读取文件所需的步骤。

  • 使用 fopen() 函数打开文件。

  • 使用 filesize() 函数获取文件的长度。

  • 使用 fread() 函数读取文件内容。

  • 使用 fclose() 函数关闭文件。

以下示例将文本文件的内容分配给一个变量,然后在网页上显示这些内容。

<html>

   <head>
      <title>Reading a file using PHP</title>
   </head>

   <body>

      <?php
         filename = "tmp.txt";file = fopen( filename, "r" );

         if(file == false ) {
            echo ( "Error in opening file" );
            exit();
         }

         filesize = filesize(filename );
         filetext = fread(file, filesize );
         fclose(file );

         echo ( "File size : filesize bytes" );
         echo ( "<pre>filetext</pre>" );
      ?>

   </body>
</html>

它将产生以下结果−

PHP 文件和I/O

写文件

可以使用PHP的 fwrite() 函数来写入新文件或向现有文件追加文本。这个函数需要两个参数,其中一个是指定的 文件指针 ,另一个是要写入的数据字符串。可选地,可以包括第三个整数参数来指定要写入的数据长度。如果包括第三个参数,写入操作将在达到指定的长度后停止。

以下示例创建一个新的文本文件,然后在其中写入一个简短的文本标题。关闭此文件后,可以使用 file_exist() 函数来确认其存在,该函数以文件名作为参数。

<?php
   filename = "/home/user/guest/newfile.txt";file = fopen( filename, "w" );

   if(file == false ) {
      echo ( "Error in opening new file" );
      exit();
   }
   fwrite( file, "This is  a simple test\n" );
   fclose(file );
?>
<html>

   <head>
      <title>Writing a file using PHP</title>
   </head>

   <body>

      <?php
         filename = "newfile.txt";file = fopen( filename, "r" );

         if(file == false ) {
            echo ( "Error in opening file" );
            exit();
         }

         filesize = filesize(filename );
         filetext = fread(file, filesize );

         fclose(file );

         echo ( "File size : filesize bytes" );
         echo ( "filetext" );
         echo("file name: $filename");
      ?>

   </body>
</html>

它将会产生以下的结果 −

PHP 文件和I/O

我们已经涵盖了与文件输入和输出相关的所有功能,在 PHP文件系统函数 章节中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程