用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 相关文章推荐
Discuz!下Memcache缓存实现方法
May 28 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
php获取json数据所有的节点路径
May 17 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
php去除deprecated的实例方法
Nov 17 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学习之 数组声明
2011/06/09 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
js实现扫雷源代码
2020/11/27 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
numpy中的高维数组转置实例
2018/04/17 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
Django 返回json数据的实现示例
2020/03/05 Python
python实现数字炸弹游戏
2020/07/17 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
十佳班主任事迹材料
2014/01/18 职场文书
个人自荐材料
2014/05/23 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL