Как сделать счетчик просмотров изображения на PHP


use_linux
326
Подскажите пжл, кто с опытом, как лучше написать счетчик просмотров изображения?


LEOnidUKG

use_linux
LEOnidUKG #:

Как-то так:

https://www.google.com/search?client=

А чиста на пхп это сделать возможно?

Хотя на ajax видимо даже проще, но все же…


estic

Если речь о «просмотре» именно изображения, а не страницы с изображением, то только так (при выводе изображения):

$link->query("UPDATE `{$table('images')}` SET `count`=`count`+1 WHERE `id`='{$page['id']}'");

($page[‘id’] — это фактически $image[‘id’].)


skapunker
use_linux #:
проще, но все же…

записывай get запросы к изображенийям и считай их, вот и вся логика

и доступ к азображениям через скрипт, будет типа того

site.ru/index.php?img=image.jpg


estic
skapunker #:

и доступ к азображениям через скрипт, будет типа того

site.ru/index.php?img=image.jpg

Это вовсе не обязательно. В современных сайтах не принято показывать в адресе имя файла-обработчика 😉

Т.е. адрес может быть обычным, например /images/image.jpg


use_linux
estic #:

Если речь о «просмотре» именно изображения, а не страницы с изображением, то только так (при выводе изображения):

($page[‘id’] — это фактически $image[‘id’].)

С точки зрения производительности наверное дороговато может обойтись. Но способ хорош.


Алеандр
use_linux :
Подскажите пжл, кто с опытом, как лучше написать счетчик просмотров изображения?

По адресу картинки должна вызываться не картинка, а скрипт php. Собственно, который сначала берет и записывает параметры обращения в файл или базу данных, а затем, берет изображение и выкидывает его в браузер, подставляя правильный mime type.

Решается в несколько строчек кода, часто использую, вот только это не нужно использовать на действительно изображениях, в моем случае это всегда пиксель учета пользователей.


estic
use_linux #:
С точки зрения производительности наверное дороговато может обойтись.

Что дороговато? Инкремент поля в базе данных сделать? 😀 Пусть даже с 1-2 предварительными SELECT-запросами.

Сейчас это основа для для любого счетчика. Не строки/байты лога же в самом деле считать, как кто-то выше написал 😀


estic
Алеандр #:
вот только это не нужно использовать на действительно изображениях

Почему? 😀 Если нужно именно количество обращений к изображению посчитать. Или совместить счетчик доступа к странице, реализуемый при помощи изображения, с показом этого изображения на ней.


Алеандр
estic #:
Почему? 😀 Если нужно именно количество обращений к изображению посчитать? Или совместить счетчик доступа к странице, реализуемый при помощи изображения, с показом этого изображения на ней.

Потому, что если это вызов картинки-счетчика 1 раз за загрузку страницы,  то никаких проблем дергать такой код. Но, если задача подразумевает под собой учет посещения сотен картинок, находящихся на сайте и грузящихся через скрипт — то нагрузочка будет очень даже значимой, это вам не статику через nginx отдавать.

Именно об этом я и написал в своем сообщении. Счетчик-картинка в данном случае не равно простому изображению на сайте. Если нужно считать обращения непосредственно ко  всем изображениям на сайте, то, как выше и написал товарищ — разумнее будет просто разбирать лог того же nginx и из него фоново дергать в базу количество обращений. Так не будут необдуманно тратиться ресурсы на эту операцию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *