Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PI_lektsii_2016.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6.12 Mб
Скачать

13.2 Читання з файлів і запис у файли

13.2.1 Читання з файлів.

Прочитати рядок з відкритого файлу можна за допомогою функції fread:

string fread (int file, int length)

Ця функція повертає рядок довжиною length символів з файлу з дескриптором file. Приклад (читання з файлу):

<?

   $ File = fopen ("c: /www/html/file.txt", "r");

   if (! $ file)

           echo ("Помилка відкриття файлу");

      else

     {

       $ Buff = fread ($ file, 100);

       print $ buff;

     }

?>

Для читання з файлу можна також користуватися функцією fgets:

string fgets (int file, int length)

Ця функція читає і повертає рядок довжиною length – 1 байт. Читання припиняється, коли досягнутий новий рядок або кінець файлу. При досягненні кінця файлу функція повертає порожній рядок.

Для читання файлу з видаленням з нього тегів HTML застосовується функція fgetss:

    string fgetss (int file, int length [, string allowable_tags])

Необов'язковий третій параметр allowable_tags може містити рядок зі списком тегів, які не повинні бути відкинуті, при цьому теги в рядку записуються через кому.

Якщо необхідно записати вміст файлу в масив, застосовується функція file:

    array file (string filename [, int use_include_path])

функція зчитує файл з ім'ям filename і повертає масив, кожен елемент якого відповідає рядку в прочитаному файлі. У цьому прикладі за допомогою функції читається файл, інформація з якого потім виводиться в браузер:

<?

   $ File_array = file ("file.txt");

   if (! $ file_array)

       echo ("Помилка відкриття файлу");

     else

       for ($ i = 0; $ i <count ($ file_array); $ i ++)

           printf ("% s <br>", $ file_array [$ i]);

       ?>

Ця функція зручна також тим, що з її допомогою можна легко підрахувати кількість рядків у файлі:

<?

   $ File_array = file ("file.txt");

   if (! $ file_array)

       echo ("Помилка відкриття файлу");

     else

   {

     $ Num_str = count ($ file_array);

     echo ($ num_str);

   }

?>

Зауважимо, що функцію file слід застосовувати лише для читання невеликих файлів.

Для читання файлів з розширенням * .csv застосовується функція fgetcsv:

   array fgetcsv (int file, int length, char delim)

Функція читає рядок з файлу і розбиває його по символу delim. Параметр delim повинен обов'язково бути рядком з одного символу, інакше береться до уваги тільки перший символ цього рядка. Функція повертає отриманий масив або false, якщо досягнуто кінець файлу.

Порожні рядки в файлі не ігноруються, а повертаються як масив з одного елемента – порожнього рядка. Параметр length задає максимальну довжину рядка точно так же, як це робиться у функції fgets. Формат CSV є одним з форматів, в якому може зберігати файли MSExcel. У цьому прикладі виконуэться читання створеного MSExcel файлу file.csv, що містить паролі користувачів:

<?

  $ Count = 1;

  $ File = fopen ( "file.csv", "r");

  while ($ data = fgetcsv ($ file, 1000, ","))

  {

    $ Num = count ($ data);

    $ Count ++;

    for ($ i = 0; $ i <$ num; $ i ++)

          print "$ data [$ i] <br>";

      }

  fclose ($ file);

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]