PHP вернуть изображение с URL

Я хочу вернуть изображение через URL, например http://placehold.it/500×500.
У меня есть мой URL http://example.inc/assets/image/35345, который вызывает действие на контроллере. Контроллер получает некоторые данные (имя, идентификатор и т. Д.) Из базы данных, а также двоичную строку содержимого изображения.

На веб-сайте у меня есть мой тег img, где я хочу вызвать URL в моем атрибуте src.

<img src="http://example.inc/assets/image/35345">

Еще немного информации, я использую slim PHP Framework, а мой сервер — система Ubuntu 13.x (бродячая и т. Д.). Я, как правило, веб-разработчик и не имею хороших навыков @ PHP.

Следующие фрагменты работ:

$file = fopen($name, 'wb');
fwrite($file, $binaryData);
fclose($file);

но я не хочу создавать файлы в каталоге. Это возможно?

РЕДАКТИРОВАТЬ: Content-Type и Content-Length Headers установлены, это не проблема.

0

Решение

Возьмите содержимое изображения, base_64 закодируйте его, затем верните изображение base64.

$file = file_get_contents($name);
list($width, $height, $type, $attr) = getimagesize($file);
echo '<img src="data:image/'.$type.';'.base64_encode($file).'"/>';
0

Другие решения

  1. Вы должны загрузить изображения в каталог, используя что-то вроде этого. Этот код загрузит ваше изображение в каталог.
if ($_FILES['file']['name'] != "") {
$filename = $_FILES['file']['name']; //getting name of the file from form
$filesize = $_FILES['file']['size'];
$info = new SplFileInfo($filename);
$ext = $info->getExtension();
$filesize1 = ($filesize * .0009765625) * .0009765625;
if (!($ext == 'jpg' || $ext == 'png' || $ext == 'jpeg')) {
//set some error message and redirect
}
if ($filesize1 >= 5.0) {
//set message image size should be less than 5 mb
}

$target_path = $_SERVER['DOCUMENT_ROOT'] . "../images/profile_images/";
move_uploaded_file($_FILES['file']['tmp_name'], "$target_path" . $_FILES['file']['name']) or
die("Could not copy file!");
}
  1. Вставьте имя изображения (с расширением) в базу данных. ($ Filename здесь)
  2. Получите имя изображения из базы данных и сохраните в переменной ($ profile_image здесь), используйте его в img src.
<a href='../images/profile_images/$profile_image'><img alt='Avatar' src='../images/profile_images/$profile_image'></a>
  1. Вы можете использовать только тег Anchor для перенаправления пользователя на изображение в другой вкладке браузера.

надеюсь, что этот ответ поможет вам.

0

Поскольку у меня была база данных mssql с iso charset, я конвертировал все свои результаты в utf-8, проблема заключалась в том, что строка байтов также конвертировалась в utf-8.

после неконвертирования bytestring я также возвратил bytestring и установил тип содержимого заголовка как image / extension

0
По вопросам рекламы [email protected]