Превращаем цифры и буквы в картинку с помощью php
Цифры и буквы в картинку php - создание картинки в виде цифр и букв, налету с помощью php. Как превратить цифры и буквы в картинку. При каждой новой загрузке - перезагрузке - цифры на картинке будут изменяться!
Подробно о создании картинки с помощью php
- Создаем картинку из цифр и выводим с помощью php
- Создаем картинку из цифр и букв и выводим с помощью php
Создаем картинку и выводим с помощью php
Мы можем сразу вывести на экран, чтобы вы смоли её увидеть:
С самого начала - зададим вопрос - "зачем нужно создавать картинку через php!?"
Если вы знакомы с темой "капчи", то это как раз в эту тему! Когда нужно создавать картинку на лету из цифр и букв
Как сделали картинку с помощью php!?
Дл этого, что превратить цифры в картинку нам нужно:
Создание нового полноцветного изображения - imagecreatetruecolor.
Создание цвета для изображения - imagecolortransparent.
Производит заливку, начиная с заданных координат -imagefill.
Рисование строки текста горизонтально - imagestring.
Вывод PNG изображения в браузер или файл - imagepng.
Включение буферизации вывода - ob_start.
Возвращает содержимое буфера вывода - ob_get_contents.
Очистка буфера вывода и отключить буферизацию вывода - ob_end_clean.
+ мы будем передавать случайный набор цифр - rand.
Php:
$rand = rand();
$num = rand(10000,99999);
$image = imagecreatetruecolor(40, 15);
$fon = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagecolortransparent($image, $fon);
imagefill($image, 0, 0, $fon);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 4, 0, 0, $num, $text_color);
ob_start();
imagepng($image);
$imagedata = ob_get_contents();
ob_end_clean();
<style>img.cap {
background: #cccccc;
padding: 10px;
width: 78px;
height: 30px;
border: 1px solid black;
}
</style>
Результат вы уже видели выше:
Создаем картинку из цифр и букв и выводим с помощью php
Предположим, что нам хочется кроме цифр, вывести еще и буквы!
Чтож - давайте это сделаем! Наш код будет отличаться лишь парой строк!
В переменную поместим все английский прописные и строчный буквы + все цифры:
Получим результат - давайте выведем здесь echo $num_letter:
Всё остальное также... соберем весь код вместе:
$permitted_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$num_letter = substr(str_shuffle($permitted_chars), 0, 5);
$image = imagecreatetruecolor(60, 15); echo $num_letter;
$fon = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagecolortransparent($image, $fon);
imagefill($image, 0, 0, $fon);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 10, 0, $num_letter, $text_color);
ob_start();
imagepng($image);
$imagedata_2 = ob_get_contents();
ob_end_clean();
<style>
img.cap {
background: #cccccc;
padding: 10px;
width: 78px;
height: 30px;
border: 1px solid black;
}
</style>
Выведем прямо здесь:
В связи с тем, что... некоторые пользователи имеют отклонения от нормы... комменты закрыты до момента, как напишу скрипт, когда будут доступны только зарегистрированным, либо будет модерация комментов...
Свободно, комменты оставить более не получится!
Этим вы очень поможете проекту! Заранее огромное спасибо!