- •1.4 Варіанти тегів php
- •Конструкції мови if, for, do..While, foreach, while, switch
- •1.6 Коротка інструкція умовного оператора if
- •1.7 Інструкції include, require і інструкції однократного виключення
- •1.8 Оператори echo і print
- •2. 1 Визначення рівності однієї змінної до іншої
- •2.2 Глобальні зміні
- •2.3 Статичні зміні
- •2.4 Використання однієї змінної як посилання на іншу
- •2.4 Використання змінної для зберігання імені іншої змінної
- •Константи
- •3. 1 Одновимірні масиви
- •3.2 Багатовимірні мастви
- •3.3 Суперглобальні масиви і їх використання
- •3.4 Основні функції для роботи з масивом
- •3.5 Сортування масиву
- •4. Робота з рядками
- •4.1 Регулярні вирази
- •4.2 Видалення пробілів
- •4.3 Пошук однакових рядків
- •4.4 Об’єднання рядків
- •Функції для роботи з рядками
- •5. Робота з числами
- •6. Робота з датою
- •7. Функції
- •7.1 Оператор return
- •7.2 Рекурсія
- •7.3 Виклик функції за допомогою імені збереженого в змінній
- •7.4 Передання і повернення значення по посиланню
- •8.1 Класи і модифікатори доступу
- •8.2 Конструктори
- •8.3 Знищення об’єкту
- •8.4 Наслідування
- •9. Обробка web-форм за допомогою php
- •9.1 Отримання даних за допомогою методу post
- •9.2 Отримання даних за допомогою методу get
- •9.3 Організація завантаження даних на сервер
- •10. Робота із файлами та каталогами
- •10.1 Відкриття файлів
- •10.2 Читання файлу
- •10.3 Запис у файл
- •10.4 Копіювання файлів
- •10.5 Видалення файлу
- •10.6 Переіменування файлу
- •11. Робота із сесіями і куксі
- •12. Робота з Базами Даних MySql
- •12.1 З'єднання з бд
- •12.2 Отримання даних із бд
- •13.2 Приклад використання
10.2 Читання файлу
Для читання файлів в PHP є функції fread() і filesize(). Вони визначаються нижче. fread (вказівник_ресурса, довжина) - функція, яка використовується для читання вмісту файлу. Читає вказану кількість байтів "довжина" з файлу " вказівник_ресурса ". Читання зупиняється, коли буде прочитано задану кількість байтів ("довжина"), або буде досягнутий маркер EOF (end of file).
Функція вимагає два параметри - покажчик файлу, який створюється, коли файл відкривається за допомогою функції fopen(), і розмір, який визначає, яка частина вмісту буде лічена. fgetcsv(вказівник_ресурса, довжина, обмежувач) - функція, яка використовується для читання вмісту файлу і аналізу даних для створення масиву. Дані поділяються параметром-обмежувачем, заданим у функції. filesize(ім'я_файлу) - повертає розмір файлу. Якщо виникає помилка, функція повертає значення false.
Наступний приклад ілюструє, як прочитати весь вміст файлу: fileread.php
<?php
$filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt";
$newfile = @fopen($filename, "r") or exit("Невозможно открыть файл!");
$file_contents = @fread($newfile, filesize($filename)) or exit("Неможливо прочитати вміст файлу!");
fclose($newfile);
?>
Припустимо, що текстовий файл numbers.txt існує та містить наступні дані:
numbers.txt -> 50,17,34,90
Наступний сценарій демонструє використання функції fgetcsv() для читання вмісту текстового файлу.
fileread.php
<?php
$filename = "C:/numbers.txt";
$newfile = @fopen($filename, "r") or exit("Could not open file");
$file_contents = @fgetcsv($newfile, filesize($filename),",")
or exit("Could not read file contents");
for ($i=0; $i < sizeof($file_contents); $i++){
echo $file_contents[$i];
echo "<br/>";
}
fclose($newfile);
?>
Після відкриття файлу функція fgetcsv() зчитує весь вміст файлу, створюючи масив - '$file_contents'. Третій параметр функції fgetcsv() визначає, що кожен елемент, відділений за допомогою коми ",", стане елементом нового масиву. Так як numbers.txt містить значення 50,28,34,90, то $file_contents [0] = 50, $ file_contents [1] = 28, $file_contents [2] = 34, $file_contents [3] = 90.
Після створення масиву значеннями можна маніпулювати за допомогою будь-якої з функцій для масивів PHP. У попередньому прикладі цикл for виконує ітерації на масиві $file_contents [ ] і виводить кожне число. Після завершення обробки файлу функція fclose() використовується для закриття відкритого файлу.
10.3 Запис у файл
PHP містить функцію fwrite () для запису файлів. Ця функція визначена нижче.
fwrite (аказывник_файлу, рядок) - записує вміст рядка в потік зазначеного файлу. Якщо задано аргумент length (довжина), запис буде зупинена після запису length байтів або досягнення кінця рядка.
Наступний приклад ілюструє, як записати весь вміст файлу: filewrite.php
<? $filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt"; $newfile = @fopen($filename, "w") or exit ("Неможливо відкрити файл"); $file_contents = "Додайте цей рядок в текстовий файл"; fwrite($newfile, $file_contents); fclose($ newfile); ?>
У деяких випадках може знадобитися записати вміст існуючого файлу в новий файл.
Цей процес вимагає використання функцій fopen(), fread() і fwrite(). Відкривається перший файл, читається його вміст і записується в новий файл, який також був відкритий.
Наступний сценарій показує реалізацію такого процесу: filecopy.php
<? $fileAname = "C:/MyFiles/PHP/file1.txt"; $fileBname = "C:/MyFiles/PHP/file.txt"; $currentfile = fopen($fileAname, "r") or exit ("Неможливо відкрити файл"); $fileAcontents = fread($currentfile, filesize($fileAname)); $newfile = fopen($fileBname, "w"); fwrite($newfile, $ fileAcontents); fclose($newfile); fclose($currentfile); echo "Вміст файлу file1.txt скопійовано в файл file.txt"; ?>