Есть скрипт 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=""> не подходит.
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="" />
Самое банальное - подключить этот файл через 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="">';
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники