用PHP实现登陆验证码(类似条行码状)

2015-01-24信息快讯网

<?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 has encountered an Access Violation
PHP中通过ADODB库实现调用Access数据库之修正版本 原创
PHP通过COM使用ADODB的简单例子
[PHP] 《PHP边学边教》(01.开篇――准备工作)
Apache2 httpd.conf 中文版
PHP中的cookie
让你同时上传 1000 个文件 (一)
让你同时上传 1000 个文件 (二)
PHP+javascript液晶时钟
PHP与javascript的两种交互方式
PHP+javascript模拟Matrix画面
计算2000年01月01日起到指定日的天数
真正面向对象编程:PHP5.01发布
第十一节 重载 [11]
用Socket发送电子邮件(利用需要验证的SMTP服务器)
用PHP创建PDF中文文档
PHP与javascript对多项选择的处理
PHP 和 COM
第十节 抽象方法和抽象类 [10]
不用iconv库的gb2312与utf-8的互换函数
Apache2的httpd.conf翻译
用php实现gb2312和unicode间的编码转换
转换中文为unicode 转换unicode到正常文本
2015丝绸博览会中国国际女装展览会启动
2015上海国际儿童戏剧展演开幕
万达百货半年关闭10家门店上海多家店或瘦身
上海铁路局原副局长孔兆平因受贿被判刑10年
12家公司豪推“10转20” 中报高送转行情引爆
一名大陆游客操纵无人机撞上台北101大楼
2017款奥迪Q5 SUV谍照首曝 突破性设计
浦发银行上海分行持续开展2015年防范打击非法集资宣传教育活动
“9·11”旧照还原白宫高层的震惊
申城全市11时再度越过高温线 中心城区35.7℃
沪暑期新房接力二手房发力 周末推1140套刚需
1号线早高峰突发故障110辆公交驰援 紧急撤离315人
微型110指挥中心“搬”上街头
新版百元变化更能防伪 收藏越稀缺越值钱
©2014-2024 dbsqp.com