[русские страховые традиции ликвидация, рынка экспертной оценки. | | Видеонаблюдение - установка системы видеонаблюдения Москва и обл.|ремонт ноутбуков hp | Прерывание внематочной беременности часто сопровождается внутрибрюшным кровотечением, шоком . | как уговорить девушку на анальный секс .]

3-11-2009, 07:16-Khromov-WM 
Рубрика: PHP

 

 

 

Здравствуйте! В сегодняшней статье мы с вами познакомимся с таким отличным свойством PHP как работой с файлами. Для начала нам нужен:  веб - сервер(Денвер), Notepad++(или альтернатива) и естественно эта статья на ForNovice.ru. Поехали!

Итак, давайте разберемся, каким образом(точнее: каким алгоритмом, но так не всем понятно) мы будем работать с файлами. Почти всегда алгоритм таков:

Открыть файл -> Записать или прочитать из него данные -> Закрыть файл(хотя это делается автоматически, но все-же рекомендуется). Итак, для начала изучим функции:

fopen(), fread(), fwrite(), fclose().

Первая функция: fopen() – открывает файл и выглядит примерно так:

 

<?php

$fp = fopen(“file”, “a+”);

?>

 

Наверное, вы сейчас задались вопросом, что такое a+? Вот что:

Это режим, в котором должен быть открыт файл.

  • r - Файл открывается только для чтения. Если файла не существовало, будет ошибка. После удачного открытия файла указатель устанавливается в начало файла.
  • r+ - файл открывается одновременно и на чтение и на запись. Указатель устанавливается на начало. Если файла не существовало, возвращается false. Но  если в момент записи указатель установлен где-то посередине файла, то данные запишутся поверх уже существующих.
  • w- Создаётся новый пустой файл. Если на момент вызова уже существовал такой файл, то он уничтожается.
  • w+ - аналогичен r+, но если файла не существовало,  он создается. Можно работать как в режиме записи так в режиме чтения. Если файл существовал, то его содержимое уничтожается.
  • а- открывает существующий фал в режиме записи и при этом двигает указатель на последний байт файла. Этот режим используют, когда нужно что-то дописать. Вызов проваливается если файла не существовало.
  • а+ - открывает файл в режиме чтения и записи. Указатель устанавливается в конец файла при этом, не уничтожая содержимое файла. Отличается он а тем, что если до вызова файла не существовало, то он создается.

Ну, разобрались? Поехали дальше!

Теперь, когда в нашем файле будет написано например «Привет мир, я вернулся!» то чтобы вывести эту строчку именно из файла, то нужно проделать следующее(на деле все объясню):

 

<?php

$file = "hello.txt";

$fp = fopen($file, "r"); // на всякий случай 

$fr = fread($fp, 1024);

echo $fr;

$fc = fclose($fp);

?>

 

И в вашем браузере сразу выведется надпись, которую вы запишите в файл.

Теперь давайте попробуем записать данные в файл. Например IP и дату и время. Поехали.

 

<?php

$file = "unit.txt";

$fp = fopen($file, "a+"); // на всякий случай

if (!fp)

{

$fp2 = fopen($file, "w+");

echo "Файл $file не был обнаружен и был создан!";

}

$fw = fwrite($fp, "".$_SERVER['REMOTE_ADDR']." | ".date("d.m.Y - H:i:s")."<br>\n");

readfile($file);

$fc = fclose($fp);

?>

 

Надеюсь, что все предельно ясно и понятно. Сейчас объясню построчно:

3-я строка – мы объявляем переменную, которая содержит функцию fopen() и переменная $file введена для удобства.

4,5,6,7,8-ые строки это логическое выражение, благодаря ему вам совсем необязательно создавать нужный файл, он самостоятельно создастся скриптом. Далее пока-что самое непонятное – запись данных в файл.

Напомню:

 

$_SERVER[‘REMOTE_ADDR’] – это определение ip адреса посетителя.

date("d.m.Y - H:i:s") – это текущее время и дата. Тут информация по работе с ней

 

 Внимание!!!

Если вы пишите данные в файл, то обязательно нужно указать переменную, где вы открывали файл, а не указывать его имя!

 

Таким образом я уже объяснил вам три режима для работы с файлами: r – когда файл открыт для чтения, a+ когда в файле данные дописываются в конец, и w+ когда можно легко создать файл.

Функция readfile() использовалась мной для рациональности. Нет смысла считывать строки и символы файла, его можно просто прочитать данной функцией. Таким образом напрашивается небольшой вывод: работать с файлами в php не так то и сложно и нудно. Довольно весело это иногда бывает. Так что, если ваш сервер не поддерживает MySQL тогда смело переходите к данным из файла, это намного проще и лучше.

Что вы должны знать на данный момент? Решать вам, лично я хотел рассказать о работе с файлами в PHP. Вы наверное читали только те места, которые вам нужны. Но для этого я и пишу статьи. На этом прощаюсь, посещайте наш сайт ForNovice.ru. И вы всегда увидите что-нибудь новенькое. До новых встреч!

 

Иван Хромов. 3.10.2009 год.

 

Скачать статью в pdf и примеры к ней:

php-files.zip [382,74 Kb] (cкачиваний: 3)


 (голосов: 0)

Просмотров: 300     Версия для печати






Включите эту картинку для отображения кода безопасности
обновить если не виден код