Друзья, здравствуйте. Третий день вожусь с проблемой, а точнее работаю над тем, что сотворил прошлый разработчик.
Что есть:
База данных, в которой картинки хранятся в виде бинарного кода. Написал 2 файла: 1-й генерирует одно изображение, 2-й с помощью цикла выводит несколько изображений генерированных с помощью 1-го файла.
Суть проблемы:
Файлы считываются нормально, но с тем разрешением, с которым были залиты в базу - что не нужно ввиду большого потока трафика
Что нужно:
Это фотогаллерея, где на предпросмотр выводится маленькое изображение, а на основной просмотр из все того же бинарного кода большое изображение. Т.е. есть бинарный код одной картинки, а мне необходимо в одном случае вывести картинку как есть, а во втором случае все с того же бинарного кода создать уменьшенную картинку.
Сам код
Это файл image.php, он формирует картинку на основании входящих данных по GET.
CODE ( htmlphp):
скопировать код в буфер обмена
<? ini_set ('mssql.textlimit' , '2147483646'); ini_set ('mssql.textsize' , '2147483646'); $db_host="xxx"; $db_user="xxx"; $db_password="xxx"; $db_name="xxx"; if ($_GET['type']=='main') $sql="SELECT data FROM models_mainphotos WHERE model_id=".$_GET['photo_id'].""; else $sql="SELECT data FROM models_photos WHERE id=".$_GET['photo_id'].""; header('Content-Type: image/jpg'); echo $row[0]; ?>
Это файл gallery.php, который выводит несколько картинок с помощью файла image.php.
CODE ( htmlphp):
скопировать код в буфер обмена
<? /*Вырезана часть кода*/ $query="SELECT id FROM models_photos WHERE model_id=".$_GET['model_id'].""; echo "<img src='image.php?photo_id=".$row[0]."' '><br>"; } /*Вырезана часть кода*/ ?>
Что пробовал:
Функцию imagecreatefromjpeg() и imagecreatefromgd(). И еще много чего, но не удается и это меня уже бесит... Будто хожу где-то рядом.
РАБОТАЕТ
НЕ РАБОТАЕТ
Хочется, чтобы работало то, что НЕ РАБОТАЕТ, т.е. именно с ссылкой такого вида. В идеале еще водяной знак накладывать, который будет храниться в обычном PNG файле (чтобы не прямоугольником накладывался, а плавными краями с прозрачным фоном).
Вопрос на засыпку: я зря ругаюсь на программиста, который все картинки в базу залил (их около 5000), или в этом есть какой-то смысл? Ну например экономия места, мол в базе в виде бинарного кода они меньше весят...
Заранее благодарю всех, кто попробует помочь.
|