PHP文件和I _ O


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

  • 打开一个文件
  • 读取文件
  • 编写一个文件
  • 关闭文件

打开和关闭文件

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

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

Sr.No 模式和目的
1 r
打开文件仅供阅读。 将文件指针放在文件的开头。
2 r+
打开文件进行读取和写入。 将文件指针放在文件的开头。
3 w
仅打开文件以便写入。 将文件指针放在文件的开头。 并截断文件为零长度。如果文件没有 存在然后它试图创建一个文件。
4 w+
仅打开文件以便读取和写入。 将文件指针放在文件的开头。 并截断文件为零长度。如果文件没有 存在然后它试图创建一个文件。
5 a
仅打开文件以便写入。 将文件指针放在文件的末尾。 如果文件不存在,则会尝试创建文件。
6 a+
仅打开文件以便读取和写入。 将文件指针放在文件的末尾。 如果文件不存在,则会尝试创建文件。

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

在对打开的文件进行更改后,使用 fclose() 函数关闭它很重要。该 FCLOSE() 函数需要一个文件指针作为它的参数,然后返回 当封盖成功或 错误 ,如果它失败。

读取文件

一旦使用 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文件系统功能章节中的文件输入和输出有关的所有功能。