Простой счетчик обращений Назначение: сохранение количества обращений в файле
<?php
$access = "hits.txt"; // Имя файла выбирается произвольно
$visits = file($access); // Прочитать содержимое файла в массив
$current_visitors = $visits[0]; // Извлечь первый (и единственный) элемент
++$current_visitors; // Увеличить счетчик обращений
$fh = fopen($access, "w"); // Открыть файл hits.txt и установить указатель текущей позиции
// в начало файла
fwrite($fh, $current_visitors); // Записать новое значение счетчика в файл "hits.txt"
fclose($fh); // Закрыть манипулятор файла "hits.txt"
$fh = fopen($access, "r+"); // Открыть файл для чтения и записи
$file = fread($fh, filesize($access)); // Прочитать из файла значение
print $file; // Вывести значение считанное из файла
fclose($fh); // Закрыть манипулятор файла "hits.txt"
?>
Задание 1. Дополните код так, чтобы для каждого четного посетителя выдавалось сообщение «Вы четный посетитель», а для нечетного «Вы нечетный посетитель».
Чтение и анализ содержимого файла с последующим форматированием для вывода в браузере
Создайте в рабочем каталоге файл events.txt со следующим текстом:
Июль 21.2007 | 8:20 | Подъём, водные процедуры | О! Идея!.. напишу-ка я программу на PHP.
Июль 23.2007 | 23:00 | Время ко сну|Меня снова манит PHP (странно!?..).
Июль 31.2007 | 2:30 | Не спится... | Нужно выпить чаёк с травкой, чтобы завтра были силы написать программу на PHP.
Август 1.2007 | 13:00 | Полдень (время обеда) | Напишу-ка я крутую программу на PHP.
Август 3.2007 | 18:00 | Вечерочек | А не прогуляться ли мне по парку с мыслями о PHP?
Наберите текст программы на PHP, и проверьте его работу.
<html>
<head>
<title></title>
</head>
<body>
<?php
$events = fopen ("events.txt","r"); // Открыть файловый манипулятор $events для файла events.txt
print "<h3>События моего календаря:</h3>";
print "<table border =0 width = 250>";
print "<tr><td valign=top>";
while (!feof($events)): // Читать, пока не будет найден конец файла
$event = fgets($events, 4096); // Прочитать следующую строку файла events.txt
$event_info = explode("|", $event); // Разделить компоненты текущей строки на элементы массива
// Отформатировать и вывести информацию о событии
print "$event_info[0] ( $event_info[1] ) <br>";
print "<b>$event_info[2]</b> <br>";
print "$event_info[3] <br> <br>";
endwhile;
print "</td></tr></table>"; // Завершить таблицу
fclose ($events); // Закрыть файловый поток
?>
</body>
</html>
