用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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
Mar 18 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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生成html分页列表的代码
2007/03/18 PHP
PHP中常用的转义函数
2014/02/28 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP基本语法实例总结
2016/09/09 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
Python中的闭包详细介绍和实例
2014/11/21 Python
python 连接sqlite及简单操作
2017/06/30 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
python中pow函数用法及功能说明
2020/12/04 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
电脑教师的教学自我评价
2013/11/26 职场文书
小学教师办公室制度
2014/02/03 职场文书
自主招生自荐信指南
2014/02/04 职场文书
保密工作实施方案
2014/02/24 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
先进工作者个人总结
2015/02/15 职场文书
2016年国培研修日志
2015/11/13 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Spring实现内置监听器
2021/07/09 Java/Android