Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: капча

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
mihai
Отправлено: 09 Октября, 2009 - 12:54:34
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Сент. 2006  


Помог: 0 раз(а)




нашёл в книге скрипт капчи.
помогите разобраться с ошибкой.

Warning: imagettftext() [function.imagettftext]: Invalid font filename in Z:\home\localhost\www\1.php on line 31

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $w=300;
  4. $h=50;
  5. $gfx=imagecreatetruecolor($w, $h);
  6.  
  7. imageantialias($gfx, true);
  8.  
  9. $white = imagecolorallocate($gfx,255, 255, 255);
  10.  
  11. imagefilledrectangle($gfx, 0, 0, $w-1, $h-1, $white);
  12.  
  13. $str='';
  14. foreach(range(0, rand(5,7)) as $r)
  15. {
  16. $str.=chr(rand(65,90));
  17. }
  18.  
  19. $pos=$w/strlen($str);
  20.  
  21. foreach(range(0,strlen($str)-1) as $s)
  22. {
  23. $shade=rand(0,100);
  24. $tmpgray =  imagecolorallocate($gfx,$shade,$shade,$shade);
  25. rand($h/3,$h/2),
  26. rand(-60,60),
  27. $s*$pos+($pos*.4),
  28. rand($h*.5,$h*.7),
  29. $tmpgray,
  30. 'arial',
  31. $str{$s});
  32. }
  33.  
  34. foreach(range(-$h,$w,5) as $x)
  35. {
  36. $shade=rand(50,254);
  37. $tmpgray =  imagecolorallocate($gfx,$shade, $shade, $shade);
  38. imageline($gfx, $x, 0, $x+$h+rand(0,25),$h-1,  $tmpgray);
  39. imageline($gfx, $x, $h-1, $x+$h+rand(0,25), 0,  $tmpgray);
  40. }
  41. //session_start();
  42. //$_SESSION['captcha']=$str;
  43. //header('Content-type:image/png');
  44. //imagepng($gfx);
  45.  
  46.  
 
 Top
Phantik
Отправлено: 09 Октября, 2009 - 13:04:44
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Видимо надо писать 'arial.ttf'. Кстате этот файл присутствует в директории скрипта?
 
 Top
mihai
Отправлено: 09 Октября, 2009 - 13:21:42
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Сент. 2006  


Помог: 0 раз(а)




так тут подразумевается что ещё нужен файл со шрифтами,
в книжке ничего про это нет
(Добавление)
точно, заработало

BatmanForeverAlternate.ttf
(Добавление)

есть ещё вопрос
чтобы сессии работали строку
session_start();

нужно ставить в начале кода
а тут эта строка стоит
в конце
и всё работает

ну комментарии разумется убираем

(Отредактировано автором: 09 Октября, 2009 - 13:51:58)

 
 Top
Phantik
Отправлено: 09 Октября, 2009 - 14:16:57
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Видимо книжка плохая или ты что-то не так понял.

session_start() надо ставить не в начале кода, а до начала любого вывода в браузер.

Нельзя:
<?php
echo "Строка пошла в браузер";
session_start();
?>

Можно:
<?php
session_start();
echo "Строка пошла в браузер";
?>

Если же в настройках PHP включена буферизация вывода output_buffering = On
то вывод в браузер можно делать и до функции session_start()

(Отредактировано автором: 09 Октября, 2009 - 14:17:52)

 
 Top
mihai
Отправлено: 09 Октября, 2009 - 14:22:37
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Сент. 2006  


Помог: 0 раз(а)




про
буферизация вывода output_buffering = On
я ещё не понимаю

а за сессии спасибо Радость
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB