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

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

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

Значение Описание
рОткрывает файл только для чтения. Помещает указатель файла в начало файла.
г +Открывает файл для чтения и записи. Помещает указатель файла в начало файла.
wОткрывает файл только для записи. Помещает указатель файла в начало файла, и обрезает файл до нулевой длины. Если файлы не существует, тогда он пытается создать файл.
w +Открывает файл только для чтения и записи. Помещает указатель файла в начало файла, и обрезает файл до нулевой длины. Если файлы не существует, тогда он пытается создать файл.
aОткрывает файл только для записи. Помещает указатель файла в конец файла. Если файлы не существуют, он пытается создать файл.
а +Открывает файл только для чтения и записи. Помещает указатель файла в конец файла. Если файлы не существуют, он пытается создать файл.

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

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

Чтение файла

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

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

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

  • Откройте файл с помощью fopen() функцию.
  • Получить длину файла, используя функцию filesize().
  • Прочитайте содержимое файла, используя функцию fread().
  • Закройте файл с помощью функции fclose().

Следующий пример присваивает содержимое текстового файла переменной, а затем отображает это содержимое на веб-странице.

<?php
 $filename = "tmp.txt" ;
 $file = fopen($filename , "r" );
 if($file == false ) {
	echo("Ошибка открытия файла");
	exit();
 }
 $filesize = filesize($filename);
 $filetext = fread($file, $filesize);
 fclose ($file);
 echo ("Размер файла: $filesize bytes");
 echo ("<pre> $filetext 
"); ?>

Это приведет к следующему результату -

Размер файла: 278 байтов
Препроцессор PHP Hypertext (PHP) - это программирование язык, который позволяет веб-разработчикам создавать динамические который взаимодействует с базами данных.

Запись файла

Можно записать новый файл или добавить текст в существующий файл с помощью функции 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);
?>
   
<title>Writing a file using PHP</title>
<?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");
?>

Это приведет к следующему результату -

Ошибка при открытии нового файла

 С уважением, авторы сайта Компьютерапия




Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

Предыдущие статьи

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok