|
|
|
| Изображение выводится но цифр на нём нет.
corona.ttf и capcha.jpg лежат в одной папке с capcha.php.
Не могу понять почему цифр на картинке нет!?
Библиотека GD включена:
gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.7
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
|
capcha.php
<?php
//Создаем изображение
$im=ImageCreateFromJpeg("capcha.jpg");
//Генерируем цвет надписи
$color=ImageColorAllocate($im,0,0,0);
//Формируем надпись, используя шрифт
ImageTtfText($im, 24, 0, 3, 30, $color, "corona.ttf", "555555");
//Указываем тип содержимого
Header("Content-type: image/jpeg");
//Создаем и выводим изображение
ImageJpeg($im);
//Разрушаем изображение
ImageDestroy($im);
?>
|
| |
|
|
|
|
|
|
|
для: Port_Artur
(29.03.2010 в 23:55)
| | А изображение capcha.jpg какого размера в ширину и высоту? | |
|
|
|
|
5 Кб |
|
|
для: cheops
(30.03.2010 в 01:53)
| | Ширина 200, высота 50.
Прикрепил к сообщению
corona.ttf - рабочий файл - открывается - показывает буквы и цифры разных размеров. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 08:28)
| | Почему же не работает? | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 12:41)
| | Все работает. У вас вывод ошибок не отключен случайно? | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 13:02)
| | Sim5
Прикреплённый выше файл capcha.jpg - результат работы скрипта capcha.php - цифр на нём нет, хотя само изображение отображается в браузере. | |
|
|
|
|
5.2 Кб |
|
|
для: Port_Artur
(30.03.2010 в 15:37)
| | Что касается результата работы, то это не каптча, а картинка, смысла в таком шуме нет никакого. А вот ваша картинка с наложением ваших 555... | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 16:12)
| | А вы можете выложить ваш рабочий вариант (результатом которого явилась представленная вами картинка) из 3-х файлов: .jpg, .php, .ttf.
Ну у меня откзывается отображать цифры и всё тут. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 16:42)
| | Мой "рабочий" вариант ничем не отличается от вашего. Выкладывать нет необходимости. У вас вывод ошибок случайно не подавлен? | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 17:21)
| | А как проверить? | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 19:11)
| |
<?php
error_reporting (E_ALL); //добавить
//Создаем изображение
$im=ImageCreateFromJpeg("capcha.jpg");
.....
|
Проверяйте.
Вы где тестируете свой скрипт?
Не может шрифт сам по себе пропадать, у вас либо он не подключается (путь и пр.), либо иные проблемы, но ошибки должны же при этом быть. | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 19:22)
| | Ничего не изменилось - никаких ошибок нет. Таже самая картинка без цифр.
Тестирую на хостинге. Кидаю файлы по FTP через FAR. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 19:31)
| | Ну прямо фантастика. А на локальном сервере тоже не работает? | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 19:45)
| | На локалке стоит стандартный Денвер - но тоже картинка без цифр. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 19:59)
| | Такого быть не может, это вы косячите в чем-то. | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 20:06)
| | Ну в чём я могу косячить - файлы на хостинге и на локалке лежат в одной папке, написаны маленькими буквами. Ну нет ошибок и цифры не отображаются. Картинку я показал, .ttf прикреплял в одном из сообщений, код скрипта в первом сообщении приведён. Я уже в шоке. | |
|
|
|
|
78 Кб |
|
|
для: Port_Artur
(30.03.2010 в 20:12)
| | Здесь содержимое все ваше, изменены только имена файлов. Помещенное в корень все работает. | |
|
|
|
|
|
|
|
для: sim5
(30.03.2010 в 20:15)
| | Ваш комплект на локалке сразу заработал.
Заметил что наши скрипты различаются тем, что у вас 2 функции написаны полностью меленькими буквами.
Мой скрипт заработал на хостинге, когда я вот эти функции написал полностью с маленьких букв:
$im=imagecreatefromjpeg("capcha.jpg");
$color=imagecolorallocate($im,0,0,0);
Но на хостинге не работает ни мой скрипт ни ваш комплект из архива.
Даже если все функции пишу с маленьких букв.
В чём же косяк? | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 21:17)
| | Служба поддержки хостинга помогла - оказывается нужно было указывать полный путь к файлу и не http, а путь относительно сервера (относительно самого хостинга).
Спасибо всем кто помогал. Вот только почему такой путь помог? Почему не работао просто с именем файла или с http? | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 22:18)
| | >Служба поддержки хостинга помогла - оказывается нужно было указывать полный путь к файлу и не http, а путь относительно сервера (относительно самого хостинга).
Оказывается, значит?
Тогда сравнивайте эту Вашу фразу с тем, что я сказал "Тогда стоит в качестве имени шрифта написать полный серверный путь."
>Спасибо всем кто помогал.
Не за что. :-\
>Вот только почему такой путь помог?
>Почему не работао просто с именем файла
Потому что у библиотеки GDlib (или freetype) другие представления о текущем рабочем каталоге, нежели у Вас.
>или с http?
А почему оно должно работать с http?!
И поподробнее желательно. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 12:41)
| | Если не сложно, прикрепите corona.ttf, что-то у себя его найти не могу. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 12:41)
| | не работает на сервере - в unix-среде?
Не исключено, что проблема в регистре символов имени ttf-файла. | |
|
|
|
|
161 Кб |
|
|
для: Trianon
(30.03.2010 в 13:36)
| | Все файлы и расширения написаны маленькими буквами. Изображение выводится и ошибок нет. Только цифр на изображении нет. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 15:22)
| | И Bы убеждены, что на сервере этот файл тоже именуется маленькими буквами?
Тогда стоит в качестве имени шрифта написать полный серверный путь. | |
|
|
|
|
|
|
|
для: Trianon
(30.03.2010 в 18:32)
| | Прописал полный путь (http://www..../.../corona.ttf) - никаких изменений. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 19:15)
| | >Прописал полный путь (http://www..../.../corona.ttf) - никаких изменений.
За такой полный путь Вас стоит дисквалифицировать. | |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 15:22)
| | На сервере имеется SSH? Если не сложно выполните команду (или прочитайте содержимое при помощи PHP)
Windows и диспетчеры файлов запросто могут такую бяку подсунуть. | |
|
|
|
|
|
|
|
для: cheops
(30.03.2010 в 19:00)
| | Я не знаю как это проверить, есть ли SSH?
Я возможно неправильно сделал - но результат пустая страница в браузере
<?php
ls -l corona.ttf
?>
|
| |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 19:11)
| | Нет, в случае PHP имеется в виду вот такой скрипт
<?php
$dir = opendir(".");
while(($file = readdir($dir)) !== false)
{
echo $file."<br>";
}
closedir($dir);
?>
|
| |
|
|
|
|
|
|
|
для: Port_Artur
(30.03.2010 в 15:22)
| | И локально не отображается? У меня ваш скрипт с приложенным шрифтом сработал - вывелась череда цифр 5, а подложка какого цвета у вас, может цифры сливаются с фоном? | |
|
|
|
|
автор: Назар (27.02.2016 в 19:42) |
|
|
для: cheops
(31.03.2010 в 00:30)
| | Сам сегодня столкнулся с той же проблемой, решил ее указанием полного пути к шрифту, в моем случае:rn $font='/pub/home/your_server_name/htdocs/your_img_folder/arial.ttf'; | |
|
|
|