Встраивание изображения

354
08 февраля 2017, 23:08

Есть скрипт graph.php, который создаёт график по характеристикам.

Мне нужно добавить его на страницу, через тег img как src="data:'Content-type';base64. Проблема в том, что скрипт:

<?php
$graph = base64_encode(file_get_contents("graph.php"));
echo '<img src="data:image/jpeg;base64,'.$graph.'" width="'.$w.'" 
height="'.$h." alt="">';
?>

не выводит изображение. Хотя если сохранить результат graph.php как graph.jpeg на FTP и вместо "graph.php" в file_get_contents указать "graph.jpeg", то всё работает.

Вторым способом сам хотел построить этот график, нарисовав его в php-странице, но, можно получить base64_encode по идентификатору изображения?

Вариант: <img src="graph.php" alt=""> не подходит.

Answer 1

file_get_contents получает содержимое файла, а не результат выполнения скрипта.

Должно работать вот так:

<?php 
$h = 100; 
$w = 100; 
ob_start(); 
$image = imagecreatetruecolor(100,100); 
$white = imagecolorallocate($image,255,255,255); 
imagefill($image,0,0,$white); 
imagejpeg($image); 
$rawImage = ob_get_clean(); 
$graph = base64_encode($rawImage); 
?> 
<img src="data:image/jpeg;base64,<?=$graph?>" width="<?=$w?>" height="<?=$h?>" alt="" />
Answer 2

Самое банальное - подключить этот файл через require с включенной буферизацией вывода

ob_start();
require "graph.php";
$data = ob_get_clean();
$graph = base64_encode($data);
echo '<img src="data:image/jpeg;base64,'.$graph.'" width="'.$w.'" 
height="'.$h." alt="">';
READ ALSO
Спрятать один елемент и показать второй после события

Спрятать один елемент и показать второй после события

Есть простой генератор (ссылка на codepen)Как после алерта спрятать кнопку "ask" и показать "new"?

351
owl-carousel 2 - не выводит элементы управления

owl-carousel 2 - не выводит элементы управления

Ребят! Кто юзает сей дивный плагинПочему не отображает кнопы влево/вправо? И не срабатывает автоплей

432
Подсветка полей ввода красным, когда они не заполнены

Подсветка полей ввода красным, когда они не заполнены

Есть такая проблема: не могу задать полям ввода красную границу, когда они не заполненыНадо сделать это с помощью js, но мой скрипт не работает

413
Опцию товаров на js

Опцию товаров на js

Дорогие знатоки, раньше не встречался с подобной задачей для меня сложновато есть массив с данными:

410