Применение моего быстрого счётчика
Для измерений я использовал свой мега-счётчик, который я описывал раньше.
Итак, куда я его воткнул (можете посмотреть сорцы): в исходниках этого блога для картинки с надписью "RSS" (рядом с атомом) я прописал свойство id, равное "RSSImg". После этого, сразу после картинки, вставил JavaScript:
<script src="http://nic-nac-project.de/~a4/blog/rss_count.php"></script>
PHP-скрипт, указанный выше, возвращает JavaScript-код, прописывающий данные по статистике обращений к RSS-фиду в свойство alt многострадальной картинки с надписью "RSS" - можете подвести мышку и убедиться. Надпись на инглише, потому как сразу в кодировке утф8 я писать не умею.
Чудо-PHP-скрипт, который возвращает JavaScript-код, прост:
<?
$file = "data.txt";
function get_size()
{
global $file;
return filesize($file);
}
function get_todays()
{
global $file;
$cont = file($file);
return strlen($cont[sizeof($cont)-1]);
}
?>var i=document.getElementById("RSSImg");if(i!=null)i.alt='Total downloads: <?=get_size()?>\nToday: <?=get_todays()?>';
$file = "data.txt";
function get_size()
{
global $file;
return filesize($file);
}
function get_todays()
{
global $file;
$cont = file($file);
return strlen($cont[sizeof($cont)-1]);
}
?>var i=document.getElementById("RSSImg");if(i!=null)i.alt='Total downloads: <?=get_size()?>\nToday: <?=get_todays()?>';
Заметил минус: чтобы данные реально обновились в поле alt, нужно нажать Ctrl+F5. Кто-то кого-то где-то закэшировал втихаря...
3 комментов:
Я вот тут подумал. Если у тебя в каждой строке хранится количество посетителей в день... то filesize() вернет неправильное общее количество посетителей. Он же присчитает +1 к каждому дню (символ перевода строки)! Или я не прав?
Ты прав. И я об этом писал: если это первая запись за сегодня (дата модификации файла отличается от сегодняшней), то дописывается перенос строки, иначе нормальный символ (у меня это "1").
Другое дело, что в выводе результатов, описанных в этом посте, я этот факт не стал никак учитывать. Щас учту и напишу про это.
То есть такой алгоритм гарантирует, что размер файла показывает правильное число посещений. А вот "сегодняшняя" строка показывает на 1 посещение меньше из-за переноса.
В первой строке, понятное дело, всё верно изначально.
Отправить комментарий