Пример кода реализации простейшего графического счетчика посещений на php

Поскольку удаляю с сайта счетчик посещений (довольствуюсь webstat'ом в полной мере), решил поделиться его кодом.

И так, счетчик состоит из нескольких файлов (при желании можно заключить все в один).

Файл img.php - рисуем сам графический счетчик:

<?php 
// Подложка для счетчика
$im = ImageCreateFromJpeg("cou.jpg");
// Цвет текста
$black = imagecolorallocate($im,255,255,255);
// Отрисовка текста
imagestring($im,1,8,4,$_GET['s'], $black);
Header("Content-type: image/jpeg");
//Вывод изображения ImageJpeg($im);
//Разрушаем изображение, чтобы не засорялась память
imagedestroy($im);
?>

 

Файл weryeasycounter.txt и chmod ему 777 - пишем в него к-во посещений

Файл weryeasycounter.php - собственно счетчик:

<? $url = './weryeasycounter.txt'; 
if(!file_exists($url)) { //Если файла не существует, создаем его, и записываем нулевое значение
$count = 0;
$handle = fopen($url,"a");
fwrite($handle,$count);
fclose($handle);
}
else { //Если файл существует, то работаем с ним
$handle = fopen($url,"a+");
//Открываем его
$count = fread($handle,filesize($url));
//Читаем данные и присваеваем их переменной $count
fclose($handle);
if (!isset($_SESSION['count'])) { //Если сессия отсутствует
$_SESSION['count'] = 1; //Создаем её
$count++;
//Добавляем единицу к переменной
$handle = fopen($url,"w");
if (flock($handle, LOCK_EX)) {
fwrite($handle,$count);//Записываем её в файл flock($handle, LOCK_UN);
// отпираем файл
}
else { echo "Повторите позднее";
//для трассировки ошибок
}
fclose($handle);
} } //Выводим количество просмотров.
// echo "количество просмотров: $count"; //без графики
echo '<img src="/img.php?s='.$count.'" border="0" alt="stat" width="80" height="15" />'; // с графикой
?>

 

В нужном месте размещаем код:
<? include ('weryeasycounter.php'); ?>

Ну и сама подложка: stat

Фешин В.А. 

Прочитана 1505 раз