用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版(4)
Oct 09 PHP
mysql+php分页类(已测)
Mar 31 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php以post形式发送xml的方法
Nov 04 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
PHP与SQL语句常用大全
Dec 10 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
一文搞懂php的垃圾回收机制
Jun 18 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
substr()函数中文版
2006/10/09 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
php中请求url的五种方法总结
2017/07/13 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
jquery一般方法介绍 入门参考
2011/06/21 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
javascript常用的设计模式
2017/02/09 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
python字符串的index和find的区别详解
2020/06/20 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
C语言开发工程师测试题
2016/12/20 面试题
文秘求职信范文
2014/04/10 职场文书
推荐信怎么写
2014/05/09 职场文书
高中教师个人总结
2015/02/10 职场文书
入队仪式主持词
2015/07/04 职场文书
四则混合运算教学反思
2016/02/23 职场文书
高效课堂教学反思
2016/02/24 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS