Счетчик просмотров

1. php (14.12.2020 / 19:19)
Подскажите пжл, как можно написать счетчик просмотров изображений?
Я считал/записывал число просмотров в cookie, но видимо не очень хорошая идея.

2. Вантуз-мен (15.12.2020 / 00:18)
php, данные нужно хранить на сервере, куки хранятся на стороне клиента
Создаешь таблицу записываешь туда id картинки и кол. просмотров, при просмотре плюсуешь счетчик

3. php (15.12.2020 / 00:55)
Вантуз-мен,
Если картинка одна:
$file = './photo.jpg';
if (file_exists($file)) {

    $counter = isset($_COOKIE['counter']) ? $_COOKIE['counter'] : 0;
    $counter++;

    setcookie('counter', $counter);
    header('Content-Type: image/jpeg');
    readfile($file);
Я правильно понимаю?
Если просмотры хранить в таблице мускул, многовато запросов получится...

Добавлено через 09:23 сек.
Вантуз-мен, кстати, гуглил этот вопрос, нормального решения на пхп не нашел.
Из последних, в основном на ajax везде сделано. Хотелось бы пхп обойтись.

4. Вантуз-мен (15.12.2020 / 11:40)
Так тебе нужно общий счётчик просмотров или для конкретного пользователя?
А почему много запросов один просмотр один запрос

5. php (15.12.2020 / 14:35)
Вантуз-мен, мне общий счетчик нужно сделать. Для каждого изображения, по одному на странице.

Добавлено через 04:35 сек.
просто для отображения страницы необходимо 6 запросов к БД на пользователя; до 100 челов - 700 запросов. Я не собираюсь покорять многомиллионную аудиторию... но ресурсы = деньги.
Хотя, в моем случае лишние 100 запросов, наверное, погоду не сделают, но по-моему лучше так не делать, чтобы потом не запариваться.

6. php (15.12.2020 / 15:27)
Даже не один запрос на просмотр, а минимум два. Поскольку нужно будет записать и вывести результат.
А если get - запросы считать? Или *** полная?

7. Вантуз-мен (15.12.2020 / 16:24)
Ну не используй тогда mysql, пиши в redis, в файл, в tarantool
Есть много способов

8. php (15.12.2020 / 17:31)
Вантуз-мен, в этом и дело. Я и хотел узнать какие есть варианты. Правда, я надеялся обойтись одним пхп без примочек. Спасибо!

9. Вантуз-мен (16.12.2020 / 02:07)
Храни в файле тогда
file_put_contents($file, ((int) file_get_contents($file)) + 1);

10. Дмитрий (16.12.2020 / 14:10)
Не забудьте, что надо учитывать браузерный кеш и надо отключить кеширование изображений. Иначе магии не произойдет.

URL: https://visavi.net/topics/44454