用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计算页面执行时间的实现代码
Jun 18 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
php异常处理使用示例
Feb 25 PHP
php实现读取超大文件的方法
Jul 28 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
php中strtotime函数性能分析
Nov 20 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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无限分类的深入理解
2013/06/02 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
python Django框架实现自定义表单提交
2016/03/25 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python getpass实现密文实例详解
2019/09/24 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
金融学专业大学生职业生涯规划
2014/03/07 职场文书
市场营销工作计划书
2014/05/06 职场文书
研究生简历自我评
2015/03/11 职场文书
唐山大地震观后感
2015/06/05 职场文书
Python实现日志实时监测的示例详解
2022/04/06 Python