Очень часто люди хотят заказать интернет-магазин, в котором часть информации будет записываться в файлы. Например, различные отчеты, сверки и т.д. Это удобно, т.к. не обязательно всегда с собой носить пароли от системы управления интернет-магазином, а можно просто скинуть текстовой файлик на флешку.
Для записи и чтения файлов есть функция fopen, рассмотрим на примере.
Запись в файл
<?php //Отвыкаем файл для записи, и записываем, если файла нет, он создается. //Если есть то вся информация стирается $handle = fopen("1.txt", "w"); //Записываем текст в открытый файл fwrite($handle, "Дизайн студия ox2.ru занимается созданием интернет-магазинов"); fclose($handle); //Закрываем файл ?>
$handle = fopen("1.txt", "w");
Тут мы открываем файл, параметр "w" говорит что файл будет для записи. В переменную $handle записываем id-ресурса файла для последующей работы с ним (например записи, или чтения).
Помимо "w" в php есть следующие параметры:
r - чтение
w - запись, если файла не существует, то он создается, если файл существует, то вся информация в нем стирается
a - дозапись, если файла не существует, то он создается, если файл существует, то информация записывается в конец
Чтение из файла
<?php $handle = fopen("1.txt", "a"); fwrite($handle, "В компании ox2.ru вы можете заказать себе интернет-магазин"); fclose($handle); ?>
Дозапись файла
<?php $handle = fopen("1.txt", "r"); echo fread($handle, filesize("1.txt")); //Выводим содержимое файла fclose($handle); ?>
Функцией filesize("1.txt") — мы подсчитываем количество символов в файле, тоесть читаем файл полностью.
Если указать вместо filesize("1.txt") — цифру 10, то будут прочтены первые 10 символов
Запись массива в файл
Иногда требуется записать в файл не строку, а массив. Для этих целей есть функция serialize/unserialize.
Функция serialize преобразует массив в строку, которую мы можем записать в файл. Функция unserialize делает обратную операцию, преобразует строку в массив.
Вот пример:
<?php $arr = array(); $arr[1] = "ox2.ru"; $arr[2] = "заказать интернет-магазин"; $arr[3] = "троло-ло"; $handle = fopen("1.txt", "w"); fwrite($handle, serialize($arr)); //Преобразуем массив в строку, и записываем в файл fclose($handle); //Закрываем файл //После сериализации, наш массив будет выглядеть вот так: //a:3:{i:1;s:6:"ox2.ru";i:2;s:25:"заказать интернет-магазин";i:3;s:8:"троло-ло";} $handle = fopen("1.txt", "r"); //Читаем из файла текст, и преобразовываем обратно в массив $arr = unserialize(fread($handle, filesize("1.txt"))); fclose($handle); //Закрываем файл print_r($arr); //Выводим массив ?>
Комментарии
Заполните все поля
Написать комментарий