用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读取大文件的类SplFileObject使用介绍
Apr 09 PHP
ThinkPHP视图查询详解
Jun 30 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
php编程每天必学之表单验证
Mar 01 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
浅析PHP开发规范
Feb 05 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 PHP
详解提高使用Java反射的效率方法
Apr 29 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 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
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
php异常处理使用示例
2014/02/25 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
jquery中动态效果小结
2010/12/16 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
python实现哈希表
2014/02/07 Python
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python 编程速成(推荐)
2019/04/15 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
大学生入党推荐书范文
2014/05/17 职场文书
武夷山导游词
2015/02/03 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python