render.php
$form = '<b>Hi</b><br /><img src="test.jpg" /><br />New File';
echo $form;
header("Content-Type: image/png");
imagejpeg($form);
Но этот код не работает
Я хочу, чтобы эта страница визуализировалась в файл img:
<img src="render.php" />
Вы пытаетесь вывести как HTML, так и данные изображения — это не имеет никакого смысла.
Вместо этого вы должны поместить HTML-тег IMG на свой сайт, src
атрибут render.php
который устанавливает заголовок через header()
и напрямую выводит данные изображения — без каких-либо дополнительных HTML.
Вы должны использовать дополнительный файл php для изображений, что-то вроде:
<img src="render.php?id=15" />
Потому что, если ваш php-скрипт возвращает только одну картинку, он используется неправильно. так вы передаете это, какое изображение показывать.
И render.php может быть что-то вроде
$pic_id = (int)$_GET['id'];// cast to int because only numbers are allowed here
$pic_path = 'assets/img/';
$f = $pic_path.$pic_id.".jpg";// it's just an example so it's simplyfied
header("Content-Type: image/png");
imagejpeg($form);
Дело в том, что вы можете проверить права пользователя, чтобы увидеть картинку очень гибкой и записать некоторые данные о загрузчике.