Как написать текст из HTML-ввода на картинке с помощью PHP - PullRequest
0 голосов
/ 04 июля 2019

Получил этот HTML-код:

<input class="text" name="Chipnummer" type="text" value="adding text" />

Я хочу сохранить его на своей картинке вот так

мой php:

$text['adding text'];

imagefttext($image, 60, 0, 650, 270, $red, 'verdana.ttf',['adding text']);

$filename       = 'stamtavle1.png';

но это не работает ??

Я хочу сохранить изображение с $hvalpe_data['navn1'] в качестве имени.

$filename = $hvalpe_data['navn1'].png;

Получает файл вместо png

Мне действительно нужна твоя помощь.

<div class="image">
<img src="image/stamtavle.png" alt="" style=" width:1200;">

     <h2><?=$hvalpe_data['navn1'];?></h2> 
     <h4><input class="text" name="Chipnummer" type="text" value="Chipnummer"></h4>
     <text><input class="text" name="Stambogsnummer" type="text" value="Stambogsnummer"></text>
     <text1><?=$hvalpe_data['hvalp_farve'];?><text1>
     <text2><?=$hvalpe_data['firstname'] . ' ' . $hvalpe_data['lastname'];?><text2>
     <text3><?=$hvalpe_data['adresse'];?></text3>
$POST['chpinummer'];

$hvalpe_data['navn1'];
$hvalpe_data['firstname'] . ' ' . $hvalpe_data['lastname'];
$hvalpe_data['adresse'];

$image = imagecreatefrompng('stamtavle.png');
imagealphablending($image, true);

$black  = imagecolorallocate($image, 150,0, 0);

// imagefttext("Image", "Font Size", "Rotate Text", "Left Position", "Top Position", "Font Color", "Font Name", "Text To Print");

imagefttext($image, 40, 0, 850, 390, $$black, 'verdana.ttf', $POST['chpinummer']);
imagefttext($image, 40, 0, 850, 390, $$black, 'verdana.ttf', $hvalpe_data['firstname'] . ' ' . $hvalpe_data['lastname']);   
imagefttext($image, 40, 0, 850, 440, $$black, 'verdana.ttf', $hvalpe_data['adresse']);
imagefttext($image, 40, 0, 850, 490, $$black, 'verdana.ttf', $hvalpe_data['post']);

1 Ответ

0 голосов
/ 06 июля 2019

У вас есть несколько синтаксических проблем с вашим кодом PHP.

Во-первых, суперглобальный PHP для извлечения данных формы должен быть либо $_POST, либо $_GET, в зависимости от вашего <form method="post">, если method атрибут отсутствует или имеет значение method="get", вам нужно будет использовать $_GET.

Во-вторых, PHP учитывает регистр при доступе к индексам массива, поэтому, поскольку вы используете <input name="Chpinummer">, ваш PHP долженсоответствуют имени поля формы.Таким образом, вы использовали бы $_POST['Chpinummer'] для извлечения переданного значения, при условии, что метод формы действительно method="post".

В-третьих, использование $$ с переменной PHP приведет к тому, что значение вернет ссылку на переменная переменная .Поскольку вы объявляете цвет imagecolorallocate как $black, вам необходимо использовать $black, а не $$black.

Наконец, нет способа узнать, какие значения объявлены как $hvalpe_data, так как выне предоставил пример в вашем вопросе.Поэтому для краткости я удалил ссылки на них, чтобы сосредоточиться только на конкретной проблеме.

$image = imagecreatefrompng('stamtavle.png');
imagealphablending($image, true);

$black = imagecolorallocate($image, 150, 0, 0);

imagefttext($image, 40, 0, 850, 390, $black, 'verdana.ttf', $_POST['Chpinummer']);

Кроме того, рекомендуется указывать полный (абсолютный) путь к ресурсам ссылочных файлов,то есть: /full/path/to/file.Если ваши файловые ресурсы находятся в том же каталоге, что и ваш PHP-скрипт.то есть: /var/www/public/script.php и /var/www/public/stamtavle.png вы должны использовать __DIR__ . '/stamtavle.png'.Для получения дополнительной информации см __DIR__

$image = imagecreatefrompng(__DIR__ . '/stamtavle.png');
imagealphablending($image, true);

$black = imagecolorallocate($image, 150, 0, 0);

imagefttext($image, 40, 0, 850, 390, $black, __DIR__ . '/verdana.ttf', $_POST['Chpinummer']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...