Учебники

PHP — Файлы и ввод / вывод

В этой главе будут описаны следующие функции, связанные с файлами:

  • Открытие файла
  • Чтение файла
  • Написание файла
  • Закрытие файла

Открытие и закрытие файлов

Функция PHP fopen () используется для открытия файла. Требуется два аргумента, в которых указывается сначала имя файла, а затем режим работы.

Режимы файлов могут быть указаны в качестве одной из шести опций в этой таблице.

Sr.No Режим и цель
1

р

Открывает файл только для чтения.

Размещает указатель файла в начале файла.

2

г +

Открывает файл для чтения и записи.

Размещает указатель файла в начале файла.

3

вес

Открывает файл только для записи.

Размещает указатель файла в начале файла.

и обрезает файл до нулевой длины. Если файлы не

существует, то пытается создать файл.

4

ш +

Открывает файл только для чтения и записи.

Размещает указатель файла в начале файла.

и обрезает файл до нулевой длины. Если файлы не

существует, то пытается создать файл.

5

Открывает файл только для записи.

Размещает указатель файла в конце файла.

Если файлы не существуют, он пытается создать файл.

6

а +

Открывает файл только для чтения и записи.

Размещает указатель файла в конце файла.

Если файлы не существуют, он пытается создать файл.

р

Открывает файл только для чтения.

Размещает указатель файла в начале файла.

г +

Открывает файл для чтения и записи.

Размещает указатель файла в начале файла.

вес

Открывает файл только для записи.

Размещает указатель файла в начале файла.

и обрезает файл до нулевой длины. Если файлы не

существует, то пытается создать файл.

ш +

Открывает файл только для чтения и записи.

Размещает указатель файла в начале файла.

и обрезает файл до нулевой длины. Если файлы не

существует, то пытается создать файл.

Открывает файл только для записи.

Размещает указатель файла в конце файла.

Если файлы не существуют, он пытается создать файл.

а +

Открывает файл только для чтения и записи.

Размещает указатель файла в конце файла.

Если файлы не существуют, он пытается создать файл.

Если попытка открыть файл не удалась, fopen возвращает значение false, в противном случае возвращается указатель файла, который используется для дальнейшего чтения или записи в этот файл.

После внесения изменений в открытый файл важно закрыть его с помощью функции fclose () . Функция fclose () требует указатель файла в качестве аргумента, а затем возвращает true, если закрытие завершается успешно, или false, если происходит сбой.

Чтение файла

После открытия файла с помощью функции fopen () его можно прочитать с помощью функции fread () . Эта функция требует двух аргументов. Это должны быть указатель файла и длина файла, выраженная в байтах.

Длина файла может быть найдена с помощью функции filesize (), которая принимает имя файла в качестве аргумента и возвращает размер файла, выраженный в байтах.

Итак, вот шаги, необходимые для чтения файла с помощью PHP.

  • Откройте файл с помощью функции fopen () .

  • Получить длину файла с помощью функции filesize () .

  • Прочитайте содержимое файла с помощью функции fread () .

  • Закройте файл с помощью функции fclose () .

Откройте файл с помощью функции 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» .