Вы хотите что-то, что в принципе невозможно.
То, как браузер загружает страницу (в простом смысле), таково:
Шаг 1: Загрузите страницу.
Шаг 2: разбор страницы.
Шаг 3. Загрузите все, что указано в содержимом страницы (изображения, таблицы стилей, javascripts и т. Д.)
Каждое событие «Скачать» является атомарным.
Похоже, вы хотите показывать изображения только тем людям, которые только что загрузили страницу с ссылками на эти изображения.
Как показал PHP Jedi, вы можете передавать файлы через PHP. Вы можете расширить его код и проверить HTTP_REFERER в запросе, чтобы убедиться, что люди не "берут" изображение.
Теперь обработка каждого изображения с помощью PHP-сценария неэффективна, но может работать.
Самая распространенная причина, по которой люди хотят это сделать, - избегать «горячей ссылки» - когда люди создают теги изображений на других сайтах, которые ссылаются на изображение на вашем сервере. Когда они это делают, вы тратите ресурсы на обработку запросов, представленных на чужой странице.
Если это то, чего вы действительно пытаетесь избежать, вы можете использовать mod_rewrite для проверки реферера.
Приличное обсуждение горячей / анти-горячей ссылки можно найти здесь