Работа с файлами в PHP

28 мая 2020 - Администратор

Работа с файлами в PHP запись в файл и считывание информации из файлов в PHP

Язык программирования PHP обладает большими возможностями для работы с файлами. С помощью файлов можно сохранять результаты работы скриптов PHP и получать информацию от других приложений. Кроме того, в PHP есть возможность загружать файлы на сервер и скачивать файлы с сервера.  Это позволяет с помощью PHP организовать фотогалерею, файлообменники
 Общий алгоритм работы с файлами в PHP при чтении и записи в файл
 Открытие файла и создание дескриптора
 Работа с данными файла(запись в файл или чтение)
 Закрытие файла
Разберём подробнее каждый пункт алгоритма работы с файлами в PHP
Чтобы начать работать с файлом, необходимо открыть файл, создать переменную-дескриптор. Чтобы открыть файл в PHP, необходимо использовать следующую команду
$переменная файла = fopen(путь к файлу, 'режим работы');
Режимы работы с файлами в PHP
r - открытие файла в PHP только для чтения
r+ - открытие файла в PHP для чтения и записи
w - создание нового пустого  файла PHP для записи. Если существует старый файл, то он перезаписывается
Пример открытия файла test.txt, хранящегося в корне на чтение в PHP
$file = fopen("test.txt","r");
Пример открытия файла test2.txt, хранящегося в корне на чтение и запись в PHP
$file2 = fopen("test2.txt","r+");
Если файл не открылся, то переменная файла примет значение "False"
Для закрытия файла в PHP применяется следующая команда
fclose ($переменная файла);
Построчное чтение информации из файла в PHP
Для того, чтобы в PHP считать строку из файла, используется команда 
$имя переменной строки = fgets($переменная файла, длина строки);
Чтобы в PHP считать все строки файла и вывести их на веб страницу, используется следующая конструкция
while (!feof($переменная файла))
{
$имя переменной строки = fgets($переменная файла, длина строки);
echo $переменная строки."<br />";
}

Пример PHP скрипта считывание всех строк файла и вывод на веб страницу
<?php
$fp = fopen("test.txt", "r"); 
if ($fp)
{
while (!feof($fp))
{
$mytext = fgets($fp, 999);
echo $mytext."<br />";
}
}
else echo "Ошибка при открытии файла";
fclose($fp);
?>

Запись в файл в PHP
Для записи строки в файл используется команда 
fputs($переменная файла,$переменная строки);
Если вы хотите, чтобы после записи строки в файл следующая запись началась со следующей строки, в конец команды вставьте ." "
fputs ( $file, $str." ");
Разберём пример PHP скрипта с записью строки Hello world в файл
<?php
Открываем файл на чтение и запись
  $file = fopen ("test.txt","r+");
Объявляем переменную строки
  $str = "Hello world";
Проверяем открытие файла
  if ( !$file )
  {
    echo("Ошибка открытия файла");
  }
  else
  {

Записываем строку в файл
    fputs ( $file, $str." ");
  }

Закрываем файл
  fclose ($file);
?>

Полный код скрипта для записи строки Hello world в файл
<?php
  $file = fopen ("test.txt","r+");
  $str = "Hello world";
  if ( !$file )
  {
    echo("Ошибка открытия файла");
  }
  else
  {
    fputs ( $file, $str." ");
  }
  fclose ($file);
?>

Считывание массива из файла в PHP
Чтобы считать массив из файла, используется следующая команда
$имя массива = file("путь к файлу");
Пример считывание массива  из файла
$file_array = file("test.txt");
Чтобы понять, какое количество строк у файла или массива используется функция
count($имя массива или переменной файла);
Разберём пример считывания массива из файла и вывод на страницу  в PHP
<?php
Открываем файл на чтение и запись
  $file=fopen("test.txt","r+");
Записываем файл в массив
  $file_array = file("test.txt");
Проверяем наличие массива
  if(!$file_array)
  {
    echo("Ошибка открытия файла");
  }
  else
  {

Выводим все строки массива
    for($i=0; $i < count($file_array); $i++)
    {
echo $file_array[$i],' ','<br>';
    }

Закрываем файл
    fclose ($file);
  }
?>

Содержимое файла
 файл с массивом
Вывод на веб страницу
 вывод файла на веб страницу
Запись массива в файл в PHP
Чтобы записать массив в файл, необходимо использовать следующую конструкцию
for($переменная цикла=0; $переменная цикла < count($имя массива); $переменная цикла++)
    {
   fputs($переменная файла,$имя массива[$переменная цикла]." ");
   }

Пример записи массива в файл
for($i=0; $i < count($file_array); $i++)
    {
   fputs($file2,$file_array[$i]." ");
   }

Пример PHP скрипта с записью содержимого файла в массив, обработкой массива и записью в другой файл. Считываем массив чисел из файла, умножаем его на 2 и записываем в другой файл
<?php
  $file2=fopen("test2.txt","w");
  $file_array = file("test.txt");
  if(!$file_array)
  {
    echo("Ошибка открытия файла");
  }
  else
  {
    for($i=0; $i < count($file_array); $i++)
    {
echo $file_array[$i],' ','<br>';
    }
for($i=0; $i < count($file_array); $i++)
    {
$file_array[$i]=$file_array[$i]*2;
echo $file_array[$i],' ','<br>';
    }
  for($i=0; $i < count($file_array); $i++)
    {
fputs($file2,$file_array[$i]." ");
   }
    fclose ($file2);
  }
?>

Вернуться к содержанию курса по PHP  Перейти к теме Загрузка и скачивание файлов в PHP>>

Полезно : Регистрация домена и размещение сайта на хостинге

Поделиться 

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!