Как насчет подсчета каждый раз, когда изображение отображается? Это вариант, если и только если нет других изображений, которые могут быть ему полезны при работе средства просмотра альбомов изображений.
Используйте php для рендеринга изображения и запустите там небольшой скрипт, который увеличивает количество щелчков (или отображений) этого изображения. В качестве альтернативы вы можете создать запись для каждого отображения изображения, сохраняя гораздо больше, возможно, интересной информации, такой как image, last_view, ip, count и / реферер (если он работает; не тестировался). Запись IP позволит вам отслеживать уникальные просмотры с подсчетом, показывающим, сколько раз они просматривали изображение; это зависит от того, как вы это реализуете.
$name = trim($_GET['img']);
if (!isset($_GET['img'] || empty($name)) {
// Check url var wasn't omitted or typed incorrectly.
die("Image not specified.");
}
// This is just an example path. It would be a good idea to specify a path
// like this to ensure that people don't try and use it to display files
// that you wouldn't want them too.
//eg. images you don't want to keep records of.
$image = "/images/$name";
$date = time();
$ip = $_SERVER['REMOTE_ADDR'];
$ref = $_SERVER['HTTP_REFERER'];
if (!file_exists($image)) {
// Ensure that something exists at $image
die("Invalid image.");
}
$f = fopen($image, 'r');
if (!$f) {
// Make sure that the contents of the file can be opened.
die("Unable to open image.");
}
$info = @imagegetsize($image);
if (!$info) {
// This is to make sure that the $image contains a path
// to an image not just a regular file.
die("Invalid image type.");
}
Header("Content-type: {$info['mime']}");
echo fread($f, filesize($image));
fclose($f);
/****************
* Script for saving image 'click' information.
***************/
exit;
Показать изображение как это
<img src="/image.php?img=example.png" />
Если у вас возникли проблемы, и изображения отображаются правильно, откройте путь в браузере, чтобы увидеть ошибки.