php图片验证码实现

最好封装成类,可直接调用。... 最好封装成类,可直接调用。 展开
 我来答
长发飘飘的和尚4f
2009-04-30 · TA获得超过967个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:296万
展开全部
  可以用php的GD库做

  //随机生成验证码
  class randomString
  {

  function createRandomStr($strLen)
  {
  list($usec, $sec) = explode(' ', microtime());
  (float) $sec + ((float) $usec * 100000);

  $number = '';
  $number_len = $strLen;
  $stuff = '1234567890abcdefghijklmnopqrstuvwxyz';//附加码显示范围ABCDEFGHIJKLMNOPQRSTUVWXYZ
  $stuff_len = strlen($stuff) - 1;
  for ($i = 0; $i < $number_len; $i++) {
  $number .= substr($stuff, mt_rand(0, $stuff_len), 1);
  }
  return $number;
  }
  }
  通过ZD库将验证码变成图片
  $number = $createStr->createRandomStr('4');//验证码的位数
  $number_len = strlen($number);
  $_SESSION["VERIFY_CODE"] = $number;

  // 生成验证码图片
  $img_width = 60;
  $img_height = 20;

  $img = imageCreate($img_width, $img_height);
  ImageColorAllocate($img, 0x6C, 0x74, 0x70);
  $white = ImageColorAllocate($img, 0xff, 0xff, 0xff);

  $ix = 6;
  $iy = 2;
  for ($i = 0; $i < $number_len; $i++) {
  imageString($img, 5, $ix, $iy, $number[$i], $white);
  $ix += 14;
  }
  for($i=0;$i<200;$i++) //加入干扰象素
  {
  $randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($img, rand()%100 , rand()%50 , $randcolor);
  }

  // 输出图片
  header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));

  imagepng($img);
  imagedestroy($img);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能... 点击进入详情页
本回答由AiPPT提供
丸子爸爸的日常
2015-01-13 · 知道合伙人软件行家
丸子爸爸的日常
知道合伙人软件行家
采纳数:857 获赞数:985
PHP攻城狮,熟悉js,jq,css,html

向TA提问 私信TA
展开全部
这里有现成的,4种类型验证码呢

http://jingyan.baidu.com/article/d45ad1488e7aa569552b80f3.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式