Условная выдача картинки средствами пхп

Тема в разделе "PHP", создана пользователем Mike05, 27 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Mike05

    Mike05 Создатель

    Регистр.:
    1 июн 2010
    Сообщения:
    14
    Симпатии:
    0
    Возникла такая необходимость: рассылаю емейлы в формате хтмл с ссылокй на картинку (пусть c.jpg), лежащей на сервере.
    Нужно: чтобы при запросе картинки с сайта запускался скрипт пхп, и при определенных условиях в писмо выдавалась вместо c.jpg другая картинка сc.jpg.
    Подскажите пожалуйста, как такое реализовать?
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    один из вариантов:
    запихать в папку(откуда будет грузиться картинка и выполняться скрипт) .htaccess с содержимым:
    Код:
    <Files pic.jpg>
    ForceType application/x-httpd-php
    </Files>
    т.е. теперь файл pic.jpg будет обрабатываться как php
    в этот файл(pic.jpg) записываем нужный php-код и под конец(средствами php) выводим картинку в браузер

    с подменой картинки, я думаю, все и так понятно
     
    Mike05 нравится это.
  3. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    Добавлю к предыдущему ответу: видимо кроме самого выполнения скрипта нужно также выдавать так же и саму картинку, причем с условием.
    Выглядеть это будет примерно так:
    PHP:
    //твой скрипт
    //далее определяешься с тем какую картинку выводить - c.jpg или cc.jpg
    if ($some_condition) {
    $file 'c';
    } else {
    $file 'cc';
    }
    header('Content-type: image/jpeg'); 
    echo 
    file_get_contents('path/to/'.$file.'.jpg');
    //можно средствами GD (imagecreatefromjpeg(), imagejpeg()), но file_get_contents сработает быстрее
     
    Mike05 нравится это.
  4. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    вобще как бы можно и так
    RewriteRule ^c.jpg$ /image_generator.php [NC]
     
Статус темы:
Закрыта.