Если вы сгенерируете изображение на somefile.php
, когда пользователь попытается получить доступ к этому URL-адресу напрямую, вывод браузеров будет изображением, если они не задают переменную, содержащую идентификатор / имя самого изображения.
Чтобы использовать изображение в html, я просто делаю <img src='somefile.php?f=FILENAME' />
, чтобы сделать его более читабельным (если у вас есть соответствующие имена изображений).
Обязательно обрабатывайте неуказанный доступ к somefile.php
, перенаправляя или показывая изображение по умолчанию.
О заголовках, это то, что сообщает браузеру, какой тип файла он будет обрабатывать, поэтому убедитесь, что вы указали их всегда . Например:
#somefile.php
header('content-type: image/jpeg');
$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($_GET['src']); //Path to the image file
$size = getimagesize($_GET['src']);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
Таким образом, чтобы вывести изображение с этим кодом на html-страницу, вы должны сделать следующее:
<img src='somefile.php?src=filePath' />
Примечание:
Если вам не нужен jpg, просто измените его на png.
Больше документации по GD + PHP доступно здесь .