用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 和 XML: 使用expat函数(一)
Oct 09 PHP
ADODB类使用
Nov 25 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
PHP中Http协议post请求参数
Nov 02 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
浅析js中的浮点型运算问题
2014/01/06 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
客户经理岗位职责
2013/12/08 职场文书
八年级生物教学反思
2014/01/22 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
连锁超市项目计划书
2014/09/15 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014企业年终工作总结
2014/12/23 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
环卫个人总结
2015/03/03 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python