PHP - 文件和 I/O


本章将解释以下与文件相关的功能 -

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

打开和关闭文件

PHP fopen()函数用于打开文件。它需要两个参数,首先说明文件名,然后说明操作模式。

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

先生编号 模式与目的
1

r

打开文件以只读方式。

将文件指针放置在文件的开头。

2

r+

打开文件进行读取和写入。

将文件指针放置在文件的开头。

3

w

打开文件仅用于写入。

将文件指针放置在文件的开头。

并将文件截断为零长度。如果文件没有

存在,然后它尝试创建一个文件。

4

瓦+

打开文件仅用于读取和写入。

将文件指针放置在文件的开头。

并将文件截断为零长度。如果文件没有

存在,然后它尝试创建一个文件。

5

A

打开文件仅用于写入。

将文件指针放在文件末尾。

如果文件不存在,则会尝试创建文件。

6

一个+

打开文件仅用于读取和写入。

将文件指针放在文件末尾。

如果文件不存在,则会尝试创建文件。

如果尝试打开文件失败,则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 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 文件系统函数章节中介绍了与文件输入和输出相关的所有函数。