Количество обращений к файлу

dmbltro

Создатель
Регистрация
18 Фев 2010
Сообщения
46
Реакции
4
Не знаю как правильней и сказать. Попробую так: есть php файл, который генерирует картинку. Как подсчитать сколько раз за сутки к этому файлу обращаются для создания картинки. Когда-то вставлял счетчик от cnstats ( *facepalm* ), но это вообще туповато, да и файлов много сильно.
 
А что мешает в сам php файл вписать скриптик учёта статистики?
 
  • Заблокирован
  • #3
Типа такого...

PHP:
<?php
$url = "count.txt";
if (file_exists($url)==false)
{
$handle = fopen($url, "w");
$count = 0;
fwrite($handle, $count);
fclose($handle);
}
else
{
$file = file($url);
$count = $file[0];
}
$count++;
$handle = fopen($url, "w");
fwrite($handle, $count);
fclose($handle);
echo "
 
<div style=display:none>".($count)."
</div>";
?>

Никто видеть не будет, будут скрыты цыфры... Смотреть через исходный код станицы...
Можно ДИВ и убрать...
На файл count.txt атрибуты 0666 стаить...
 
А что мешает в сам php файл вписать скриптик учёта статистики?
незнание мешает(…

А вот за код такой спасибо тебе большое! =) Всё работает, в файл пишет)

А где хорошо написано про работу с тхт файлами? Интересуют функции открыть, прочитать, стереть, ну и им подобные
 
И ещё важное. На сайте, допусти, 30 папок и в каждой лежит php файл, к которому считаются обращения. Код для подсчета вставляю в начало каждого. Можно сделать так, чтобы со всех php файлов данные писались не в отдельные, а в один txt?
===================
С этим разобрался, поменял $url = "count.txt"; на $url = "../count.txt";
 
  • Заблокирован
  • #6
PHP:
<?php
    $filename = 'count.txt';
    if (!$handle = fopen($filename, 'w+"'))  {
        echo "Не могу '$filename' " ;
        exit;
    }
    else
    {
        echo "Я открыл '$filename' " ;
    }
    $content = fread($handle, sizeof($filename));
    $content = str_replace( 'Pesnike' , 'OldPes' , $content);
    if (fwrite($handle, $content) === FALSE) {
        echo "Лажа!";
        exit;
    }
    else
    {
        echo "Cool";
    }
    fclose($handle);
?>

Поставь этот файл на крон, чтоб каждые 24 часа он отчищал txt файл count.txt


Запись в 1н txt файл - не могу сказать, не проверял.
 
Всё работает, спасибо
 
Как вариант ещё можно access_log парсить для подсчёта обращений. Плюсы такой реализации - не надо обращаться к php. Всё можно сделать на уровне sh.
 
На нормальном сервере нет и не должно быть доступа к логам от обычного пользователя.
на примерно половине встречающихся конфигураций логи апача лежат в папке /logs или /log ниже корня (public_html, www, htdocs), имеют права этого пользователя или ссылаются на /чёнибудь/apache/domlogs/дальше логи. И имеются права на чтение этих логов у пользователя. Хотя парсить логи дело достаточно затратное.
 
Назад
Сверху