Очень часто люди хотят заказать интернет-магазин, в котором часть информации будет записываться в файлы. Например, различные отчеты, сверки и т.д. Это удобно, т.к. не обязательно всегда с собой носить пароли от системы управления интернет-магазином, а можно просто скинуть текстовой файлик на флешку.
Для записи и чтения файлов есть функция 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); //Выводим массив
?>





Уроки по PHP
JavaScript
Уроки по HTML
Дизайнерам
СЕОшникам
Разное


Комментарии
Заполните все поля
Написать комментарий