Счетчик просмотров
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