Работа с файлами на PHP

Очень часто люди хотят заказать интернет-магазин, в котором часть информации будет записываться в файлы. Например, различные отчеты, сверки и т.д. Это удобно, т.к. не обязательно всегда с собой носить пароли от системы управления интернет-магазином, а можно просто скинуть текстовой файлик на флешку.

Для записи и чтения файлов есть функция 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($handlefilesize("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($handleserialize($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($handlefilesize("1.txt"))); 
    
fclose($handle); //Закрываем файл

    
print_r($arr); //Выводим массив
    
?>
Урок 8 - Строковые функции PHP Содержание Урок 10 - Классы в PHP. Чать 1
Размещение любых материалов с сайта OX2.ru на других сайтах, блогах, печатных изданиях и т.д. ссылка на сайт http://ox2.ru/ обязательна!

Оставить вопрос или комментарий

Имя:
Сообщение: