用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.2书写安全的脚本
Oct 09 PHP
繁体中文转换为简体中文的PHP函数
Oct 09 PHP
PHP 柱状图实现代码
Dec 04 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
php中判断数组相等的方法以及数组运算符介绍
Mar 30 PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP7新功能总结
Apr 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写聊天室(三)
2006/10/09 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
php多进程应用场景实例详解
2019/07/22 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
python实现简单温度转换的方法
2015/03/13 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python模拟三级菜单效果
2017/09/11 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
Python使用folium excel绘制point
2019/01/03 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
Servlet的生命周期
2013/08/25 面试题
大学生应聘自荐信
2013/10/11 职场文书
班长竞选演讲稿
2014/04/24 职场文书
邓小平理论心得体会
2014/09/09 职场文书
科学发展观标语
2014/10/08 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
投资意向协议书
2015/01/29 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
python blinker 信号库
2022/05/04 Python
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS