Хранение данных в базе данных –это удобный и эффективный способ. Но PHP позволяет сохранить данные в файле. Кроме этого, из PHP можно производить все стандартные операции с файлами. И самое главное - PHP-код выполняется на веб-сервере и может выполнять операции над файлами веб-сайта,например, такие как запись и чтение. Схема записи/чтения в файл происходит в три основных этапа:
1. Открытие файла для записи/чтения;
2. Запись/Чтение;
3. Закрытие файла.
Задача:Данные текстового поля веб-страницы при отправке формы записать в файл test.txt, затем содержимое файла test.txt вывести на веб-страницу.
4. Для решения этой задачи продолжим писать программный код в PHP-вставке в файлеtest.php (см. рис.11.10):
Рис. 11.10
Добавим программный код для решения этой задачи:
// Открываем файл для записи
$f = fopen("./test.txt", "w");
// Проверяем успешность открытия файла
if ($f)
{
// Записываем в файл
fwrite($f, $str);
// Закрываем в файл
fclose($f);
}
// Открываем файл для чтения
$f = fopen("./test.txt", "r");
// Проверяем успешность открытия файла
if ($f)
{
// Считываем из файла 30байт
$rez = fread($f,30);
// Выводим на веб-страницу
echo "<br/>Read File: {$rez}";
// Закрываем файл
fclose($f);
}
Сначала открываем файл для записи:
$f = fopen("./test.txt", "w");
Первый параметр –это путь к файлу.Комбинация "./" означает текущий каталог (в нашем случае, это тот же каталог, где находится файл test.php).Второй параметр –это атрибут. "w"–открытие файла для записи. После открытия,все операции с файлом производятся через переменную $f.
Затем следует выполнить проверку на успешность открытия:
if ($f)
в этом случае выполняем запись в файл:
fwrite($f, $tmp);
Первый параметр –это переменная файла $f, второй параметр –данные для записи в файл.
После этого не забываем закрыть файл!
fclose($f);
Если файл нужно открыть,используется атрибут "r":
$f = fopen("./test.txt", "r");
При успешном открытии производится чтение из файла:
$rez = fread($f,30);
Считанные данные помещаются в переменную $rez. Второй параметр функции fread()указывает на количество считываемых байт.
Посмотрим на результат в браузере, введем в текстовое поле значение Test и нажмем кнопку. В результате мы увидим:Read File: Test (см.рис. 11.11):
Рис. 11.11
Программа считала данные файла text.txt и отобразила на веб-странице.
Откроем структуру проекта puh,нажмем левой клавишей мыши на заголовок проекта, после этого нажмем клавишу F5. Эти действия обновят список файлов –появится созданный файл test.txt (см. рис. 11.12):
Рис. 11.12
Этот файл был создан программно посредством PHP! Откроем его вEclipse для PHP –внутри файла появится текст Test (см. рис.11.13):
Рис. 11.13
Теперь можно удалить файлы index.php, test.php из нашего проекта (см.рис. 11.14):
Рис. 11.14
Полученные знания будут использованы при создании раздела сайтаЗаказать.Данные введенные пользователем: Имя, Телефон –будут записываться в файл. Каждая заявка будет размещаться в отдельном файле.
Сохранение данных в файл можно выполнять одновременно с сохранением в базу данных. Это будет полезно в том случае, если произойдет сбой при записи в базу данных. Тогда в файле останется копия потерянных данных.