|
|
|
| Подскажите пожалуйста, как вывести изображение, я с этим только знакомлюсь.
$imginfo = getimagesize("nike.jpg");
$w = 80;
$h = 80;
$rWidth = $imginfo[0];
$rHeight = $imginfo[1];
if($rWidth > $rHeight) {
$iWidth = $rWidth/($rWidth/$w);
$iHeight = $rHeight/($rWidth/$w);
} else {
$iWidth = $rWidth/($rHeight/$h);
$iHeight = $rHeight/($rHeight/$h);
}
$s_image = imagecreatetruecolor($iWidth, $iHeight);
$r_image = imagecreatefromjpeg("nike.jpg");
imagecopyresampled($s_image, $r_image, 0, 0, 0, 0, $iWidth, $iHeight, $imginfo[0], $imginfo[1]);
|
я размер поменял, а теперь это изображение надо вывести как ссылку, как сделать??? | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 11:02)
| | Выведите изображение следующим образом
<?php
header("Content-type: image/jpeg");
imagejpeg($s_image);
?>
|
А на скрипт, где расположен этот код ссылайтесь из тэга <img src=image.php> | |
|
|
|
|
|
|
|
для: cheops
(26.11.2007 в 12:37)
| | Дело в том, что строка где я вывожу картинку как ссылку находится в теле HTML т.е. пишет, что заголовок уже отправлен.
p.s. Cheops, спасибо, за то, что Вы делаете. | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 13:57)
| | Так быть не должно!
В скрипте, который генерирует картинку не должно быть вообще никаких выводов текста!!! | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 13:57)
| | html-документ с картинкой и сама картинка, которая в него входит, запрашиваются двумя разными запросами к серверу, и обрабатываются (как правило) разными скриптами.
Скрипт, выводящий картинку, никакого html-кода не создает.Этот код создан в рамках обработки предыдущего запроса. | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 13:57)
| | В HTML вставляйте тэг <img src=image.php>, который будет ссылаться на скрипт image.php, а в нём выводите изображение (и ничего кроме изображения не выводите) - HTML-страница и изображения - это разные документы, которые связываются друг с другом при помощи HTML-тэга <img>. | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 11:02)
| | Ваш первый пост и то что показал cheops - разные файлы | |
|
|
|
|
|
|
|
для: G-Style
(26.11.2007 в 11:02)
| | code.php
<?
$imginfo = getimagesize("nike.jpg");
$w = 80;
$h = 80;
$rWidth = $imginfo[0];
$rHeight = $imginfo[1];
if($rWidth > $rHeight) {
$iWidth = $rWidth/($rWidth/$w);
$iHeight = $rHeight/($rWidth/$w);
} else {
$iWidth = $rWidth/($rHeight/$h);
$iHeight = $rHeight/($rHeight/$h);
}
$s_image = imagecreatetruecolor($iWidth, $iHeight);
$r_image = imagecreatefromjpeg("nike.jpg");
imagecopyresampled($s_image, $r_image, 0, 0, 0, 0, $iWidth, $iHeight, $imginfo[0], $imginfo[1]);
header("Content-type: image/jpeg");
imagejpeg($s_image);
?>
|
index.php
| |
|
|
|
|
|
|
|
для: mihdan
(27.11.2007 в 00:55)
| | Спасибо, а этот вывод картинки всегда в отдельный файл надо подключать??? | |
|
|
|
|
|
|
|
для: G-Style
(27.11.2007 в 09:23)
| | Нет, не обязательно, можно в этом же скрипте выводить ссылки на изображения, в запросе помещать резмеры запрашиваемого эскиза... Но вот что нужно, так после вывода освобождать память - закрывать открытый дескриптор: imagedestroy($s_image); | |
|
|
|
|
|
|
|
для: sim5
(27.11.2007 в 09:48)
| | У меня сейчас такая проблема. Есть функция которая выводит из БД анкеты с фотографиями, я вынес код
$imginfo = getimagesize("photo/$photo");
$w = 80;
$h = 80;
$rWidth = $imginfo[0];
$rHeight = $imginfo[1];
if($rWidth > $rHeight) {
$iWidth = $rWidth/($rWidth/$w);
$iHeight = $rHeight/($rWidth/$w);
} else {
$iWidth = $rWidth/($rHeight/$h);
$iHeight = $rHeight/($rHeight/$h);
}
$s_image = imagecreatetruecolor($iWidth, $iHeight);
$r_image = imagecreatefromjpeg("photo/$photo");
imagecopyresampled($s_image, $r_image, 0, 0, 0, 0, $iWidth, $iHeight, $imginfo[0], $imginfo[1]);
header("Content-type: image/jpeg");
imagejpeg($s_image);
|
в этдельный файл и подключаю в функции т.о. <img src="img.php" border="0" alt="'.$name.'" /> но картинка не выводится, вообще не определяется. | |
|
|
|
|
|
|
|
для: G-Style
(27.11.2007 в 11:04)
| | У меня сейчас такая проблема. Есть функция которая выводит из БД анкеты с фотографиями, я вынес код
$imginfo = getimagesize("photo/$photo");
$w = 80;
$h = 80;
$rWidth = $imginfo[0];
$rHeight = $imginfo[1];
if($rWidth > $rHeight) {
$iWidth = $rWidth/($rWidth/$w);
$iHeight = $rHeight/($rWidth/$w);
} else {
$iWidth = $rWidth/($rHeight/$h);
$iHeight = $rHeight/($rHeight/$h);
}
$s_image = imagecreatetruecolor($iWidth, $iHeight);
$r_image = imagecreatefromjpeg("photo/$photo");
imagecopyresampled($s_image, $r_image, 0, 0, 0, 0, $iWidth, $iHeight, $imginfo[0], $imginfo[1]);
header("Content-type: image/jpeg");
imagejpeg($s_image);
|
в этдельный файл и подключаю в функции т.о. <img src="img.php" border="0" alt="'.$name.'" /> но картинка не выводится, вообще не определяется. | |
|
|
|
|
|
|
|
для: G-Style
(28.11.2007 в 08:43)
| | В базе храните сами фотографии или их имена (имена с путями)? | |
|
|
|
|
|
|
|
для: sim5
(28.11.2007 в 09:00)
| | В БД, только имена. | |
|
|
|
|
|
|
|
для: G-Style
(28.11.2007 в 09:20)
| | Тогда выставляйте ссылку непосредственно на это изображение, а не РНР-обработчик изображения - <img src="pathName/imageName.ext" border="0" alt="'.$name.'" />
PS. Если $name, это как раз имя файла избражения полученное из базы, то:
<img src="pathName/$name" border="0" alt="'.$name.'" />, а уж стоит его в alt запихивать, вам решать. | |
|
|
|
|
|
|
|
для: G-Style
(28.11.2007 в 08:43)
| | где определяется переменная $photo? Увидел только $name | |
|
|
|
|
|
|
|
для: G-Style
(28.11.2007 в 08:43)
| | Извиняюсь, не обратил внимание, вы видимо из фото авторов делаете аватарки, потому требуется масштабирование изображения. А зачем так, может лучше при загрузке изображения на сервер сразу изменить его размер, а в последствии вызывать изображение по прямой ссылке на него? Ведь регистрация клиента гораздо реже происходит, чем обращение к его фото. Лишний раз гонять обработчик изображения не потребуется. | |
|
|
|
|
|
|
|
для: sim5
(28.11.2007 в 11:31)
| | согласен с вами :) тоже сначала не понял зачем использоватьобработчик изображения для данной задачи... | |
|
|
|
|
|
|
|
для: G-Style
(28.11.2007 в 08:43)
| | Код правильный. Может не работать если вы в строке:
<img src="img.php" border="0" alt="'.$name.'" />
|
не передаете это самое $photo, предложил бы для примера img сделать типа:
<img src="img.php?photo=1.jpg" border="0" alt="'.$name.'" />
|
и соответственно в $_GET['photo'] получите необходимое название файла для уменьшения | |
|
|
|
|
|
|
|
для: Zirkon
(28.11.2007 в 19:35)
| | Я, наверное, сразу не ясно вырозил свои мысли, извините. Дело такое. Изначально это сайт знакомств. Есть функция, в числе принимаемых аргументов, передается имя фотографии, функция выводит циклически анкеты с фото. Фото на гл. странице выводится в мини размере, а если нажать на фото, то тогда можно увидеть реальный размер. Когда я вынес несколько строк в отдельный файл и сделал таким образом - <img src="img.php" />", как было выше сказано, то
функция imagejpeg() не получала в качестве аргумента идентификатор нового изображения. Теперь надо попробавать Ваш способ. Либо придется еще сидеть и что-то придумывать. | |
|
|
|