Может ли html использоваться с динамически генерируемыми изображениями в php?

Я использую этот код для создания изображения

<?php // Set the content-type header('Content-Type: image/png'); // Create the image $im = imagecreatetruecolor(400, 30); // Create some colors $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 399, 29, $white); // The text to draw $text = 'Testing...'; // Replace path by your own font path $font = 'arial.ttf'; // Add some shadow to the text imagettftext($im, 20, 0, 11, 21, $grey, $font, $text); // Add the text imagettftext($im, 20, 0, 10, 20, $black, $font, $text); // Using imagepng() results in clearer text compared with imagejpeg() (A)print ('<div class="test">'); imagepng($im); print ('</div>'); (B)imagedestroy($im); ?> 

Работа кода штрафуется, если я прокомментирую номер строки «A» и «B», и она генерирует изображение в браузере с тестированием, написанным на нем. Но я хочу, чтобы изображение было в div. поэтому я раскомментирую линию (A) и (B), но не дает правильного вывода. Сгенерированный html также является странным сгенерированным html.

 <img src="http://localhost/php/test92.php" alt="The image “http://localhost/php/test92.php” cannot be displayed, because it contains errors."> 

В принципе, для создания динамического изображения в HTML вам понадобятся 2 файла PHP:

  1. один для самого изображения
  2. другой для PHP для его отображения.

Давайте посмотрим на это:

  1. Вы создаете image.php который принимает параметр, например: ID изображения или имя файла. По соображениям безопасности вы должны фильтровать любой параметр, который он получает.

    Почему вы должны это делать? потому что для генерации изображения вы не можете смешивать его с другим выходом HTML. Не говоря уже о едином space или return поскольку это сделает изображение сломанным.

  2. Вы делаете HTML- test92.php на другом PHP, скажем, test92.php . Для логики HTML здесь, например:

    1. получать данные изображения
    2. зацикливать данные
    3. display image => <img src="image.php?imageID=12" alt="" />

Если вам нужен div вокруг вашего изображения, вы должны сделать это в html, вы не можете сделать это в коде генерации изображения

 <div> <img src="http://localhost/php/test92.php"> </div> 

Если вы получаете ошибки относительно изображения, попробуйте просмотреть URL-адрес изображения http: //localhost/php/test92.php и посмотреть, как он выглядит.

Он показывает изображение, как вы ожидаете?