Путь к изображению

Тема в разделе "Как сделать...", создана пользователем lamo, 27 авг 2009.

Статус темы:
Закрыта.
  1. lamo

    lamo Постоялец

    Регистр.:
    1 июл 2008
    Сообщения:
    51
    Симпатии:
    4
    Подскажите можно ли реализовать такую вещь: на сайте есть изображения товара, можно что бы путь к картинке был не как: Перейти по ссылке а так: pict.php?id=111

    Что бы в теге <img> вместо указания пути указывался скрипт?
     
  2. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    ты же уже задал этот вопрос в сообществе пхп, я там тебе ответил. зачем дублировать то
     
  3. WerewolfGSM

    WerewolfGSM

    Регистр.:
    4 дек 2006
    Сообщения:
    257
    Симпатии:
    11
    Можно сделать.
    Только надо определиться каким образом будешь линковать индексы изображений и их реальные названия. Если используешь БД то можно сделать таблицу имеющие поля "код картинки" и "имя файла", а скрипт принимает гетом индекс картинки, генерит запрос к базе и генерит саму картинку. Только надо бы сделать проверку на наличие индекса в базе и на наличие файла диске. При отсутсвии файла или индеса генерить не пустую картинку, а какую нить страндартную, типа перечеркнутого фотоаппарата.
    Возникнут вопросы - пиши что именно, помогу.
     
  4. lamo

    lamo Постоялец

    Регистр.:
    1 июл 2008
    Сообщения:
    51
    Симпатии:
    4
    Я все таки не догнал...
    У меня есть 2 проекта, Перейти по ссылке
    Оба ресурса используют одну БД и соответственно одинаковые ресурсы (мнформация на обоих сайтах почти идентичная). Фото используемые для вывода информации из БД хранятся в папке PIC, т.е. не в самой БД, в ней хранятся только имена файлов.
    Собственно вопрос остается прежним, как на Перейти по ссылке, а был в виде showimg.php?id=222 (например так).
     
  5. WerewolfGSM

    WerewolfGSM

    Регистр.:
    4 дек 2006
    Сообщения:
    257
    Симпатии:
    11
    Итак, есть бд с таблицей названий картинок. Например tab_images полями imageID, imageFileName. В imageFileName хранится полный путь к файлу картинке: Перейти по ссылке

    Пишем скрипт на пхп (пусть назовем его showimg.php).
    PHP:
    <?
    header("Content-type: image/jpeg");
    if(isset(
    $_GET['id'])) $id = (int)$_GET['id'];

    // здесь пишем код, который подключается к БД, создает запрос типа:
    // SELECT imageFileName FROM tab_images WHERE imageID = $id LIMIT 1;
    // далее проверяем наличие файла на сервере:

    if (!file_exists($imgfile)) $imgfile "images/utils/nophoto.jpg";
        elseif ((
    strrchr($imgfile,".")!=".jpg")) $imgfile "images/utils/nophoto.jpg";

    // далее просто выводим файл.

    $img imagecreatefromjpeg($imgfile);    
    list(
    $width$height) = getimagesize($imgfile);

    //  бывает надо подогнать рисунок под какой нибудь размер (с учетом пропорции сторон) вот код:

    $need_w 320// требуемая ширина
    $need_h 200// требуемая высота
    $wm=$width/$need_w;
    $hm=$height/$need_h;

    if (
    $wm>$hm) {
     
    $hm=$wm;


    $ah=(int) $height/$hm;
    $aw=(int) $width/$hm;

    $res imagecreatetruecolor($aw,$ah);    


    imagecopyresampled ($res,$img,
                      
    0,0,
                      
    0,0,
                      
    $aw,$ah,
                      
    $width,$height);
    imagejpeg($resnull,90);
    imagedestroy($img);
    imagedestroy($res);
    ?>

    Вот и все. Не забудьте написать свой код подключения и чтения из БД. Простой копи/паст не сработает.
     
Статус темы:
Закрыта.