用PHP实现登陆验证码(类似条行码状)


Posted in PHP onOctober 09, 2006

<?php

function UPCAbarcode($code) {
  $lw = 2; $hi = 100;
  $Lencode = array('0001101','0011001','0010011','0111101','0100011',
                   '0110001','0101111','0111011','0110111','0001011');
  $Rencode = array('1110010','1100110','1101100','1000010','1011100',
                   '1001110','1010000','1000100','1001000','1110100');
  $ends = '101'; $center = '01010';
  /* UPC-A Must be 11 digits, we compute the checksum. */
  if ( strlen($code) != 11 ) { die("UPC-A Must be 11 digits."); }
  /* Compute the EAN-13 Checksum digit */
  $ncode = '0'.$code;
  $even = 0; $odd = 0;
  for ($x=0;$x<12;$x++) {
    if ($x % 2) { $odd += $ncode[$x]; } else { $even += $ncode[$x]; }
  }
  $code.=(10 - (($odd * 3 + $even) % 10)) % 10;
  /* Create the bar encoding using a binary string */
  $bars=$ends;
  $bars.=$Lencode[$code[0]];
  for($x=1;$x<6;$x++) {
    $bars.=$Lencode[$code[$x]];
  }
  $bars.=$center;
  for($x=6;$x<12;$x++) {
    $bars.=$Rencode[$code[$x]];
  }
  $bars.=$ends;
  /* Generate the Barcode Image */
  $img = ImageCreate($lw*95+30,$hi+30);
  $fg = ImageColorAllocate($img, 0, 0, 0);
  $bg = ImageColorAllocate($img, 255, 255, 255);
  ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg);
  $shift=10;
  for ($x=0;$x<strlen($bars);$x++) {
    if (($x<10) || ($x>=45 && $x<50) || ($x >=85)) { $sh=10; } else { $sh=0; }
    if ($bars[$x] == '1') { $color = $fg; } else { $color = $bg; }
    ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color);
  }
  /* Add the Human Readable Label */
  ImageString($img,4,5,$hi-5,$code[0],$fg);
  for ($x=0;$x<5;$x++) {
    ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg);
    ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg);
  }
  ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg);
  /* Output the Header and Content. */
  header("Content-Type: image/png");
  ImagePNG($img);
}

UPCAbarcode('12345678901');

?>

用PHP实现登陆验证码(类似条行码状)

PHP 相关文章推荐
十天学会php之第三天
Oct 09 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
php获取系统变量方法小结
May 29 PHP
PHP精确计算功能示例
Nov 29 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
PHP实现根据数组的值进行分组的方法
Apr 20 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
Yii框架Session与Cookie使用方法示例
Oct 14 PHP
用PHP创建PDF中文文档
Oct 09 #PHP
PHP与javascript对多项选择的处理
Oct 09 #PHP
3
Oct 09 #PHP
example2.php
Oct 09 #PHP
对盗链说再见...
Oct 09 #PHP
PHP出错界面
Oct 09 #PHP
ftp类(myftp.php)
Oct 09 #PHP
You might like
PHP连接access数据库
2008/03/27 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Tesserocr库的正确安装方式
2018/10/19 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python学生管理系统
2019/01/30 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
年会主持词结束语
2014/03/27 职场文书
职工代表大会主持词
2014/04/01 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android