Вывести картинку через php [дубликат]
Для HTML используйте двойные кавычки, для (PHP, JS) одинарные, тогда не будет таких проблем.
echo '';
Вот так можно, только не знаю зачем Вам это нужно.
Может я Вас не совсем понял и Вы хотите отрендерить картинку средствами PHP, тогда так:
$url = '/wp-content/uploads/banner-shoppadma-1_300x600-min.jpg'; header('Content-type: image/jpeg'); imagejpeg(imagecreatefromjpeg($url));
imagegif
imagegif() создаёт GIF файл file из изображения image . Аргумент image возвращается функциями imagecreate() или imagecreatefrom* .
Файл будет иметь формат GIF87a , если изображение не было сделано прозрачным функцией imagecolortransparent() . В этом случае форматом файла будет GIF89a .
Список параметров
Объект GdImage , возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor() .
Путь, или открытый потоковый ресурс (который автоматически закрывается после завершения функции), для сохранения файла. Если не установлен или равен null , изображение будет выведено в поток вывода в бинарном виде.
Возвращаемые значения
Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.
Предостережение
Однако, если libgd не может вывести изображения, эта функция вернёт true .
Список изменений
| Версия | Описание |
|---|---|
| 8.0.0 | image теперь ожидает экземпляр GdImage ; ранее ожидался корректный gd ресурс ( resource ). |
Примеры
Пример #1 Вывод изображения, используя imagegif()
// Создание изображения
$im = imagecreatetruecolor ( 100 , 100 );
?php
// Создание белого фона
imagefilledrectangle ( $im , 0 , 0 , 99 , 99 , 0xFFFFFF );
// Рисование текста на изображении
imagestring ( $im , 3 , 40 , 20 , ‘GD библиотека’ , 0xFFBA00 );
// Вывод изображения в броузер
header ( ‘Content-Type: image/gif’ );
imagegif ( $im );
imagedestroy ( $im );
?>
Пример #2 Преобразование PNG в GIF, используя imagegif()
// Загрузка PNG
$png = imagecreatefrompng ( ‘./php.png’ );
// Сохранение как GIF
imagegif ( $png , ‘./php.gif’ );
// Освобождение памяти
imagedestroy ( $png );
// готово
echo ‘Преобразование PNG в GIF успешно завершено!’ ;
?>
Примечания
Замечание:
Следующий пример кода позволит вам писать PHP приложения, которые будут проще портироваться на разные системы. В нем используется автоопределение типа GD поддержки доступной в данный момент. Замените строки: header («Content-Type: image/gif»); imagegif ($im); на более переносимые:
// Создание нового изображения
$im = imagecreatetruecolor ( 100 , 100 );
?php
// Какие-либо операции с изображением
// Обработка вывода
if( function_exists ( ‘imagegif’ ))
// для GIF
header ( ‘Content-Type: image/gif’ );
imagegif ( $im );
>
elseif( function_exists ( ‘imagejpeg’ ))
// для JPEG
header ( ‘Content-Type: image/jpeg’ );
imagejpeg ( $im , NULL , 100 );
>
elseif( function_exists ( ‘imagepng’ ))
// для PNG
header ( ‘Content-Type: image/png’ );
imagepng ( $im );
>
elseif( function_exists ( ‘imagewbmp’ ))
// для WBMP
header ( ‘Content-Type: image/vnd.wap.wbmp’ );
imagewbmp ( $im );
>
else
imagedestroy ( $im );
die( ‘В этом PHP сервере нет поддержки изображений’ );
>
// Если не поддерживается ни один из форматов
// освободим память
if( $im )
imagedestroy ( $im );
>
?>
Замечание:
Вы можете использовать функцию imagetypes() для проверки, какие форматы поддерживаются:
Смотрите также
- imagepng() — Вывод PNG изображения в браузер или файл
- imagewbmp() — Выводит изображение в браузер или пишет в файл
- imagejpeg() — Выводит изображение в браузер или пишет в файл
- imagetypes() — Возвращает список типов изображений, поддерживаемых PHP сборкой
User Contributed Notes 12 notes
21 years ago
read also RFC2557: http://www.ietf.org/rfc/rfc2557.txt
For handling inline images in email.
—-
I’ve been playing around with the «data» URL scheme as proposed by RFC 2397 which states how to perform inline, bas64 encoded images. A number of browsers support this format from some of my tests and would be an interesting way of removing overhead from multiple HTTP connections. Basically, the IMG tag would be:
Something like that. Note also that I start the URI with «/-/» before the rest of the data scheme spec. If you don’t start it with this, it won’t work in a lot of the different browsers I tested (such as IE). Note this is useful for very small images only (as most browsers appear to have a limitation on the size of HTML element data of 1024). Browsers where this syntax worked that I tested are the following:
IE 6.x (windows)
Mozilla 0.97+ (linux)
Opera 5, 6 (windows)
Netscape 4.7+ (mac, windows)
IE 5 (macintosh)
This should work for other image types as well, such as PNG. JPEG files aren’t really suggested (usually, these files are too large). BTW — there is no advantage to this method if the image will appear more than ONCE in the page because you will be transmitting the same data multiple times as opposed to just once (most browsers realize that already downloaded data that has multiple references only requires one HTTP call).
Consider using this method if you want to make a single PHP program that outputs both text and an image AND you want to make only on HTTP call. Cheers.
11 years ago
apparently GD does not support animated GIFs.
instead, we’re stuck with the old fashioned way:
header ( ‘Content-Type: image/gif’ );
echo file_get_contents ( $destPathImage );
?>
Как вывести изображение средствами Php
я пытаюсь вывести картинку, но он ругается на header в этом месте и выводятся символы, а если поставить header перед session_start(); то выводится белый квадратик в середине экрана. перед
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как вывести в .DOC файл таблицу средствами PHP B HTML
Как вывести в .DOC файл таблицу средствами PHP и HTML. В браузере я её просматриваю, а как.
Не могу записать изображение в директорию /uploads/posts/2012-07/ средствами PHP
Доброго время суток форумчяни, столкнулся с задачкей интересной, на виртуальном (Денвере работает).
Как обрезать изображение средствами javascript?
Здравствуйте! Столкнулся с проблемой, изображение находиться в div блоке при перетаскивании.
Вывести изображение, которое находится в переменной php
нужно вывести изображение <IMG src="/img/"> а дальше нужно имя изображения которое находится в.
1260 / 958 / 224
Регистрация: 01.10.2018
Сообщений: 3,711
Сообщение от dhesaww 
я пытаюсь вывести картинку, но он ругается на header в этом месте и выводятся символы
Оно не предназначено для вывода в тело страницы. На странице нужно выводить ссылки, а сами изображения — в ответ на отдельные HTTP-запросы.
Добавлено через 4 минуты
Непосредственный вывод содержимого изображения при помощи PHP будет медленным. Нужно либо использовать псевдозаголовки, чтобы содержимое выводил сам сервер, либо в крайнем случае вывести только один раз и тут же закэшировать, чтобы последующие запросы уже обрабатывал непосредственно сервер без передачи управления коду формирования изображения.
Добавлено через 4 минуты
Ну, и хранить содержимое изображений в базе данных нет никакого смысла. Это используется, когда вы формируете изображение, например из текста, или видоизменяете изображение, например накладываете «водяные знаки».
Регистрация: 07.05.2020
Сообщений: 13
Получается мне нужно сделать тег ?
Ну бд мне нужна, чтобы хранить информацию картинок пользователей. в самой таблице находится название картинки, которая хранится в папке, и id пользователя.
Добавлено через 7 минут
аа использовать
где mainphp.php будет уже вот этот код?
1 2 3 4
$im = imagecreatefrompng("img/".$photo); header('Content-Type: image/png'); imagepng($im); imagedestroy($im);
1260 / 958 / 224
Регистрация: 01.10.2018
Сообщений: 3,711
Сообщение от dhesaww 
Получается мне нужно сделать тег ?
Нет, выводите ссылку, т.е. адрес в ссылке.
Сообщение от dhesaww 
Ну бд мне нужна, чтобы хранить информацию картинок пользователей. в самой таблице находится название картинки, которая хранится в папке, и id пользователя.
Это правильно. Я дописал для тех, кто вздумает и содержимое хранить в базе данных. А у вас ошибка в том, что вы используете код для изменения содержимого изображения, но при этом ничего не меняете. В таком случае достаточно просто считать содержимое файла, например при помощи readfile. Но это медленно.
Добавлено через 2 минуты
Вам достаточно просто выводить ссылки. Не вижу смысла выводить непосредственно изображения. Хотя сильно не присматривался.
Регистрация: 07.05.2020
Сообщений: 13
Я как понял, что этот способ мне не подойдет тут.
Мне нужно, чтобы выводились картинки пользователя на сайте в уменьшенном формате. Исходная картинка имеет, допустим, размер 512х512, а нужно чтобы отображало 100х100 не используя css и html. так бы я мог просто через css задать ей размеры , а тут надо как-то по-другому.
Добавлено через 1 минуту
а вот при нажатии на картинку, она открывается в исходном размере. тут, наверное, и надо использовать imagepng.
1260 / 958 / 224
Регистрация: 01.10.2018
Сообщений: 3,711
Сообщение от dhesaww 



