Re: счетчик заходов на html
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.09.25 09:26
Оценка: 2 (1) +1
Здравствуйте, Hоmunculus, Вы писали:

H>Что для этого надо дописать в html? какой-то php вызвать?


Тебе нужно, чтобы на сервере вызывался по обращению скрипт, который будет инкрементировать счетчик, и твой html должен содержать ссылку на URL, по которому вызывается этот скрипт. На чём этот скрипт будет написан (на PHP, Питоне, C++, ...), значения не имеет.
Re[3]: счетчик заходов на html
От: klopodav  
Дата: 12.09.25 09:26
Оценка: +2
H>Да вот как раз этого мудрежа и не надо. Все запросы в поисковиках даю мне этот мудреж. Не надо мне его.

Так может тогда просто анализировать лог веб-сервера, который этот html отдает? Написать простенький фильтрик, который из лога выкинет все лишнее, а оставит только записи об успешных отдачах html?
Re: счетчик заходов на html
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 12.09.25 09:33
Оценка: 2 (1)
Здравствуйте, Hоmunculus, Вы писали:

H>Что для этого надо дописать в html? какой-то php вызвать?

Смотря где эта страничка лежит (или генерируется).

Я тоже не гуру Web, но сходу на ум приходит такое (у каждого варианта может быть своя трудоемкость в зависимости от кучи факторов, так что тут ):
— Логи того web-сервера, который хостит вашу страничку. Как правило все позволяют сохранить хотя бы минимальную информацию, о приходящих запросах. Но может потребоваться некий парсинг, вычленение, нужных вам запросов, подсчет...
— Код, на стороне сервера. Т.е. если ваша страничка отдается тем же php-кодом, то добавить туда инкремент счетчика (только как-то синхронизировать запись в файл нужно). Если конкретно эта страница отдается статикой, но на в целом на бэке какой-то динамический код выполняется (PHP, Python, ...) то переделать запрос так, чтобы срабатывал код скрипта, который вам обновит счетчик, а потом просто вернет страничку.
— Код JS, который выполнится при загрузке страницы и а) дернет что-то на вашем бэке, чтобы увеличить счетчик (но это странное решение — при таком подходе второй вариант явно лучше) или б) дернет, какой-нибудь специальный сервис web-аналитики.

Для статики, которая лежит на каком-то стороннем хостинге, самый простой вариант, как по мне, это 3б.
Я именно так и поступил для своего небольшого сайта (если так можно сказать), который выставлен как Github Pages (исходный сайт лежит в репозитории, в момент публикации генерируется готовый статический сайт html+css+js). Самым простым и очень наглядным было подключить внешнюю аналитику. Я брал Яндекс Метрику.

Если вариант вас устроит, могу чуть подробнее расписать (но там по их документации разобраться очень легко, больше вопросов было, как это подружить с тем генератором сайтов, который я использовал).
Re[2]: счетчик заходов на html
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 12.09.25 09:40
Оценка: 2 (1)
Здравствуйте, Hоmunculus, Вы писали:

H>Здравствуйте, Hоmunculus, Вы писали:


H>Отвечу сам себе.

H>Рядом с html вот такой скрипт — vis.php
Если здесь не будет состояния гонок (параллельные запросы), то наверное, так и оставить.

Ещё, на всякий случай проверьте, что будет с загрузкой оригинальной странички, если вдруг скрипт сломается и вернет ошибку (для например, файл окажется заблокирован для записи — можно сэмулировать правами, наверное).
По идее не должно быть проблем (просто в консоли браузера буде ошибка и всё), но я бы перепроверил.
Re: счетчик заходов на html
От: DiPaolo Россия  
Дата: 12.09.25 10:09
Оценка: 2 (1)
https://goaccess.io

мега-простая и легкая утилитка, которая:
— парсит логи твоего сервера (который отдает страницы и пишет это в логе)
— рисует простенькую HTML со статистикой заходов на твои страницы
— можно один раз вызвать и получить срез; можно запустить с постоянным обновлением выходной HTML

для простого подсчета на простеньком сайте очень подходящая штука
Патриот здравого смысла
Re[6]: счетчик заходов на html
От: Shmj Ниоткуда  
Дата: 12.09.25 18:05
Оценка: 2 (1)
Здравствуйте, Hоmunculus, Вы писали:

H>А членом тут многие потрясли да, без конкретных решений.


Ну вот ввел за тебя запрос в claude.ai, исправленная версия:

<?php
$counter_file = 'VisitorsCount.txt';

// Создаем файл если не существует
if (!file_exists($counter_file)) {
    file_put_contents($counter_file, '0', LOCK_EX);
}

// Открываем файл для чтения и записи
$f = fopen($counter_file, 'c+');

if ($f === false) {
    die('Ошибка: не удалось открыть файл счетчика');
}

// Устанавливаем эксклюзивную блокировку
if (flock($f, LOCK_EX)) {
    // Читаем текущее значение
    rewind($f); // Устанавливаем указатель в начало файла
    $counter_value = (int)fread($f, filesize($counter_file));
    
    // Увеличиваем счетчик
    $counter_value++;
    
    // Очищаем файл и записываем новое значение
    ftruncate($f, 0); // Очищаем содержимое файла
    rewind($f); // Возвращаемся в начало
    fwrite($f, $counter_value);
    
    // Снимаем блокировку (происходит автоматически при fclose)
    flock($f, LOCK_UN);
    
    echo "Посетители: " . $counter_value;
} else {
    echo 'Ошибка: не удалось заблокировать файл';
}

fclose($f);
?>


Версия от GPT:

<?php
$counter_file = 'VisitorsCount.txt';

if (!file_exists($counter_file)) {
    file_put_contents($counter_file, '0', LOCK_EX);
}

$f = fopen($counter_file, 'c+'); // c+ = читать/писать, создаст если нет
if (flock($f, LOCK_EX)) { // эксклюзивная блокировка
    $size = filesize($counter_file);
    if ($size > 0) {
        rewind($f);
        $counter_value = (int)fread($f, $size);
    } else {
        $counter_value = 0;
    }

    $counter_value++;
    rewind($f);
    ftruncate($f, 0); // очистка файла
    fwrite($f, (string)$counter_value);
    fflush($f); // сброс буфера
    flock($f, LOCK_UN); // снять блокировку
}
fclose($f);
?>


— проверь и скажи заработало ли. Еще есть вариант на CGI — на голом Си.
=сначала спроси у GPT=
Re[6]: счетчик заходов на html
От: Kocur  
Дата: 12.09.25 18:19
Оценка: 2 (1)
Здравствуйте, Hоmunculus, Вы писали:


я просто так бы сделал (вставь в html-код в конце перед </body></html>):

<?php
$count_file = "counter.txt";
if (file_exists($count_file)) {
$counts = intval(file_get_contents($count_file));
} else {
$counts = 0;
}
$counts++;
file_put_contents($count_file, $counts);

echo '<br><br>^:' . $counts;
?>
Re: счетчик заходов на html
От: Dimonka Верблюд  
Дата: 12.09.25 09:14
Оценка: :)
Здравствуйте, Hоmunculus, Вы писали:

H>Что для этого надо дописать в html? какой-то php вызвать?


Поставь любую внешнюю аналитику и будет тебе счастье. Зарегистрируйся, получи код и вставь на страницу.
Загугли какие есть. Самое известное — google analytics.
Re[2]: счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 09:15
Оценка: +1
Здравствуйте, Dimonka, Вы писали:

Да вот как раз этого мудрежа и не надо. Все запросы в поисковиках даю мне этот мудреж. Не надо мне его.
Re: счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 09:33
Оценка: +1
Здравствуйте, Hоmunculus, Вы писали:

Отвечу сам себе.
Рядом с html вот такой скрипт — vis.php
<?php
$counter_file = 'VisitorsCount.txt';

if (!file_exists($counter_file)) {
    $f = fopen($counter_file, 'w');
    fwrite($f, '0');
    fclose($f);
}

$f = fopen($counter_file, 'r');
$counter_value = (int)fread($f, filesize($counter_file));
fclose($f);

$counter_value++;
$f = fopen($counter_file, 'w');
fwrite($f, $counter_value);
fclose($f);

?>


Внутри html вот такая строчка

<body>
<img style="display: none;" src="vis.php">
<!--This will run RunFromHTML.php-->
</body>

Re[3]: счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 09:43
Оценка: +1
Здравствуйте, Михаил Романов, Вы писали:

Гонок не будет. Не публичная страничка. Шлется конкретным людям. Не, конечно есть вероятность, что так сложится, что два человека зайдут в одну миллисекунду, но крайне низкая. А даже если один из них и потеряется — не страшно.
Re[5]: счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 14:50
Оценка: :)
Здравствуйте, ·, Вы писали:

Ты молодец. Я не на этом специализируюсь. И в принципе — если не будет работать — не большая проблема.
А членом тут многие потрясли да, без конкретных решений.
счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 09:02
Оценка:
В вебе ноль, но потребовалось считать сколько раз страничка открывается. Не надо никаких мудрежей с базами данных, асинхронностями, DDOS-ами и прочее. Страничка открывается по конкретной ссылке раз в пару дней.
Просто надо чтоб рядом с html лежал файл txt. Там даже можно не именно счетчик, а просто при каждом заходе на html присывалась бы в конец файла какой-то символ, этого хватит

Что для этого надо дописать в html? какой-то php вызвать?
Re[2]: счетчик заходов на html
От: Hоmunculus  
Дата: 12.09.25 09:34
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

Отбой, уже нашел, спасибо
Re: счетчик заходов на html
От: Stanislaw K СССР  
Дата: 12.09.25 14:09
Оценка:
Здравствуйте, Hоmunculus, Вы писали:

H>Что для этого надо дописать в html? какой-то php вызвать?


в конфиге сервера логировать обращения к этому html в отдельный кастомный лог.
одно обращение = одна запись лога.
Все проблемы от жадности и глупости
Re[4]: счетчик заходов на html
От: · Великобритания  
Дата: 12.09.25 14:47
Оценка:
Здравствуйте, Hоmunculus, Вы писали:

H> Гонок не будет. Не публичная страничка. Шлется конкретным людям. Не, конечно есть вероятность, что так сложится, что два человека зайдут в одну миллисекунду, но крайне низкая. А даже если один из них и потеряется — не страшно.

Такой код я писал будучи первокурсником. И тогда же понял, что такое работать не будет. Мне удавалось ронять такой код просто нажимая много-много раз F5 в браузере.
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: счетчик заходов на html
От: · Великобритания  
Дата: 12.09.25 15:30
Оценка:
Здравствуйте, Hоmunculus, Вы писали:

H>Ты молодец. Я не на этом специализируюсь. И в принципе — если не будет работать — не большая проблема.

H>А членом тут многие потрясли да, без конкретных решений.
grep или подобное по access-логам сервера.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: счетчик заходов на html
От: Kocur  
Дата: 12.09.25 18:16
Оценка:
Здравствуйте, Hоmunculus, Вы писали:

H>А членом тут многие потрясли да, без конкретных решений.



здесь часто так бывает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.