htmlcheto каза:
а има ли някакъв начин да разбера че потребителя е написал url адреса на картинката
ами реално погледнато за да може картинката да се изведа на страницата ти трябва url адрес
тоест не можеш да разбереш дали потребителя е отворил само картинката или е отворил самата страница и от там гледа картинката
но има и решение
създаваш си един php файл който ще има за цел да показва дадена картинка
ето ти пример за този файл
viewimage.php
Код:
<?php
session_start();
if ($_SESSION['vt'] > time())
die('nqmate dostup');
$img = $_GET['img'];
if (file_exists('./images/'.$img))
{
header('Content-Type: '.image_type_to_mime_type(exif_imagetype('./images/'.$img));
echo file_get_contents('./images/'.$img);
}
?>
този файл прави много просто нещо проверяма дали променливата съхранявана в сесия vt е по голяма от сегашното време
ако е по голяма това значи че потребителя не е посещавал сайта ами просто е заредил картинката или я използва в своя сайт
а ако времето е по малко тогава показваме дадената картинка която трябва да се намира в папката images
името на картинката го разбираме чрез GET променливата img
но за да работи както трябва на всяка страница кадето извеждаш картинка трябва най-отгоре на php файла да сложиш следният код
Код:
<?php
session_start();
$_SESSION['vt'] = time()+20;
?>
така потребителя ще може да зареди картинката само 20 секунди по късно след посещението на страницата
ако потребителя е посетил страницата то тогава браузера ще зареди картинката много преди да са изтекли 20-те секунди
кода съм го писал директно при поста и не съм го тествал
ако има някакавпроблем пише