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

Статус
В этой теме нельзя размещать новые ответы.

lamo

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

Что бы в теге <img> вместо указания пути указывался скрипт?
 
ты же уже задал этот вопрос в сообществе пхп, я там тебе ответил. зачем дублировать то
 
Можно сделать.
Только надо определиться каким образом будешь линковать индексы изображений и их реальные названия. Если используешь БД то можно сделать таблицу имеющие поля "код картинки" и "имя файла", а скрипт принимает гетом индекс картинки, генерит запрос к базе и генерит саму картинку. Только надо бы сделать проверку на наличие индекса в базе и на наличие файла диске. При отсутсвии файла или индеса генерить не пустую картинку, а какую нить страндартную, типа перечеркнутого фотоаппарата.
Возникнут вопросы - пиши что именно, помогу.
 
Я все таки не догнал...
У меня есть 2 проекта, Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся
Оба ресурса используют одну БД и соответственно одинаковые ресурсы (мнформация на обоих сайтах почти идентичная). Фото используемые для вывода информации из БД хранятся в папке PIC, т.е. не в самой БД, в ней хранятся только имена файлов.
Собственно вопрос остается прежним, как на Для просмотра ссылки Войди или Зарегистрируйся вывести картинки, хранящиеся по адресу Для просмотра ссылки Войди или Зарегистрируйся, так что бы адрес их не просматривался как Для просмотра ссылки Войди или Зарегистрируйся, а был в виде showimg.php?id=222 (например так).
 
Итак, есть бд с таблицей названий картинок. Например 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($res, null,90);
imagedestroy($img);
imagedestroy($res);
?>

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