`

PHP5中图片中文验证码(下)

    博客分类:
  • php
PHP 
阅读更多

1imageheader输出的介绍

 
PHPHEADER是定义头的动作,新PHP5中支持三种类型
 
    Content-Type: xxxx/yyyy    //内容文件类型
    Location: xxxx:yyyy/zzzz
    Status: nnn xxxxxx
 
 
内容文件的类型
如: image/gif
       image/jpeg
       image/png
 
 
header*
 
 
不同的head设置,定义输出不同的图片格式,在GD库中都有对应的image类型
 
                       imagejpeg(*)   imagegif(*)   imagepng(*) ……
 
 
2imageline imagesetpixel 函数
 
imageline 画线函数 
       imageline ( resource image, int x1, int y1, int x2, int y2, int color )
             
             image:图片对象
             x1,y1:线的起始坐标
             x2,y2:线的结束坐标
            color:颜色
 
 
imagesetpixel 画点函数
  imagesetpixel ( resource image, int x, int y, int color )
   
   image:图片
   x,y:点的坐标
   color:点的颜色
 
 
3imagettftext函数调用字体写入文字
  
     imagettftext 带字体的写入函数
 
    imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
 
image:图片
size:字体大小
angel:倾斜度,围绕x轴旋转
x,y,开始位置
color:颜色
fontfile:字体文件目录
text:显示的内容
 
 
4PHP验证码插入中文的方法
 
    iconv("gb2312","UTF-8","新年快乐!"); //首先要将文字转换成UTF8格式
 
    然后使用imagettftext  调用一种字体,再将转换好的UTF8格式的中文
写入图片中!
 
 

 

<?Php
   //开启session
   session_start();

      for($i=0;$i<4;$i++){

          $rand.=dechex(rand(1,15);

      }
     //把验证码存入session的pic变量中
     $_SESSION[pic]=$rand;

     //创建一个100*30的图片
     $im=imagecreatetruecolor(100,30);

  //设置颜色
   $bg=imagecolorallocate($im,0,0,0);//第一次用调色板的时候,是背景颜色
  //文字颜色
  $tc=imagecolorallocate($im,255,255,255);

//画线条
   for($i=0;$<3;$i++){ 
         $tc=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
         imageline($im,rand(0,80),rand(0,20),rand(0,80),rand(0,20),$tc);
                                }

     //噪点
    for($i=0;i<300;i++){

         imagesetpixel($im,rand(0,100),rand(3,30),$tc);   

                                 }



  $str=iconv("gb2312","UTF-8","新年快乐!"); //首先要将文字转换成UTF8格式 
//写入中文
//载入字体,把字体copy到项目中(根目录下)
imagettftext ($im,12,0,20,20,$tc,'simhe1.ttr',$str);


//写入英文
//把字符串写在图像
//imagestring($im,rand(1,6),0,0,$rand,$tc)  


//输出图片
     header("Content-type:image/jpge"):      注意一致性
     imagejpeg($im);

?>

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
分享到:
评论

相关推荐

    PHP生成中文汉字图片验证码

    PHP生成中文汉字图片验证码,不知道对大家有没有帮助。

    PHP100视频教程34:PHP5中图片中文验证码(下).rar

    【PHP5图片中文验证码技术详解】 验证码是一种常用的安全机制,用于防止自动机器人或者恶意脚本进行非法操作,如批量注册、频繁提交等。在PHP5中实现中文验证码,可以增加破解难度,因为中文字符组合多样,增加了...

    基于PHP的生成中文汉字图片验证码打包字体.zip

    基于PHP的生成中文汉字图片验证码打包字体.zip

    php图片中文验证码

    写好的php图片中文验证码

    PHP100视频教程 34:PHP5中图片中文验证码(下)

    1、image与header输出的介绍 PHP的HEADER是定义头的动作,新PHP5中支持三种类型: Content-Type xxxx nnn xxxxxx2、imageline 与 imagesetpixel 函数3、imagettftext函数调用字体写入文字4、PHP验证码插入中文的...

    [图片动画]PHP生成中文汉字图片验证码_php_yzm.zip

    2. **中文汉字验证码**:相比于纯字母或数字的验证码,中文汉字验证码增加了识别难度,因为汉字数量庞大,提高了自动识别的复杂性。同时,中文字符的形状和结构也为人类识别提供了较高的辨识度。 3. **PHP实现**:...

    PHP100视频教程 34:PHP5中图片中文验证码(下).rar

     PHP的HEADER是定义头的动作,新PHP5中支持三种类型:  Content-Type: xxxx/yyyy   Location: xxxx:yyyy/zzzz  Status: nnn xxxxxx 2、imageline 与 imagesetpixel 函数 3、imagettftext函数调用字体写入...

    PHP100视频教程 (三十四、PHP5中图片中文验证码(下))

    PHP的HEADER是定义头的动作,新PHP5中支持三种类型: Content-Type: xxxx/yyyy Location: xxxx:yyyy/zzzz Status: nnn xxxxxx 2、imageline 与 imagesetpixel 函数 3、imagettftext函数调用字体写入文字 4、...

    PHP动态验证码三个案例【数字字母,图片,汉字】

    汉字验证码比字母数字验证码更具挑战性,因为它涉及的是中文字符集。我们可以从预定义的汉字列表中随机选择,然后将其编码为UTF-8格式。生成汉字验证码的过程与图片验证码类似,只是在绘制时需考虑汉字的宽度和高度...

    支持中文字母数字和自定义字体的php验证码类

    在PHP中实现验证码功能,我们可以创建一个自定义的类来处理这一过程,正如“支持中文字母数字和自定义字体的php验证码类”所示。这个类将涵盖创建图片、添加干扰元素以及存储和验证SESSION的主要功能。 1. **GD库**...

    基于PHP的中文GIF动态验证码生成器的设计与实现 (1).pdf

    文章首先介绍了验证码的概念和当前验证码生成器的缺陷,然后讨论了生成随机数技术、汉字编码技术和 PHP 语言实现中文 GIF 动态验证码生成器的设计思路。 关键技术点: 1. 生成随机数技术:使用 PHP 中的 mt_rand ...

    PHP超强验证码-合集

    本资源“PHP超强验证码-合集”聚焦于PHP编程语言实现的高效、安全的验证码解决方案,涵盖了多种类型的验证码设计,包括中文和英文的版本,以及与帝国CMS系统兼容的验证码。以下将详细解析这些知识点: 1. PHP验证码...

    php验证码文件类.zip

    "php验证码文件类.php"是实现验证码功能的PHP源代码文件,而"php中文网免费下载站.txt"和"php中文网下载站.url"可能是提供该类库的来源信息,方便用户查找更多相关资源或学习材料。对于初学者,阅读并理解这个类的源...

    明仔中文网のPHP通用万能注册验证码.rar

    在验证码系统中,SMARTY可能用于渲染验证码图片,以及处理用户交互时的页面更新。 3. **验证码生成**:一个有效的验证码通常包含随机生成的字母、数字组合,有时还会加入特殊字符,以增加识别难度。在PHP中,可以...

    php验证码样式类.zipzip

    一个php验证码样式类,PHP生成验证码没有想象中的难,实例化对象,并设置验证码图片的宽、高和验证码的长度。创建图片,干扰颜色,干扰点,干扰线,验证码写入图片。

    基于YII2的中文验证码

    因为YII2不支持中文验证码,所以写了一个,欢迎下载 支持成语产生。 使用说明在PSCaptcha.php文件中 压缩包内带字体,所以有些大 文件放到 common\libs\captcha 目录,没有就新建 * PSCaptcha 产生一个验证码图片. ...

    Ajax无刷新中文验证码

    综上所述,Ajax无刷新中文验证码是现代Web应用中提升用户体验和安全性的一种有效方法,它通过异步通信技术和中文字符组合,实现了既快速又安全的用户验证流程。在实际开发中,我们需要根据项目需求进行定制,并确保...

    Ajax无刷新中文验证码_chinesecode.zip

    中文验证码则进一步增加了难度,因为除了英文字符,还可能包含中文汉字,使得机器识别更加困难。 Ajax无刷新验证码的核心在于利用Ajax技术与服务器进行通信。当用户点击“获取验证码”按钮时,前端JavaScript代码会...

    php实现简单实用的验证码类.zipzip

    讲述了PHP实现简单实用的验证码类,$image-&gt;config('宽度','高度','字符个数','验证码session...//这样就会向浏览器输出一张图片,产生验证码,产生验证码图片,设置图片的干扰像素,在验证码图片上逐个画上验证码。

    php生成图片验证码

    在PHP中,我们可以利用GD库来生成图片验证码。GD库是PHP中用于图像处理的常用扩展,能够创建、编辑和输出多种图像格式。 首先,我们来看一下基本的英文数字验证码的生成步骤: 1. **创建画布**:使用`...

Global site tag (gtag.js) - Google Analytics