IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> PHP

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

【 来源:网络  更新时间:2007-5-27 | 字体:
<?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');
  
  ?>
相 关 文 章
相 关 软 件
 放生
 够爱
 触电
 白狐
 真爱
 天路
 彩虹
 烟火
 日不落
 爱转角
 蓝眼泪
 青花瓷
 老人与海
 边做边爱
 牛仔很忙
 你的选择
 等一分钟
 冰河时代
 我最闪亮
 自由飞翔
 爱死了昨天
 会呼吸的痛
 我们的纪念
 做你的爱人
 爱大了受伤了
 上帝是个女孩
 思念是一种病
 只对你有感觉
 有没有人告诉你
 听着情歌流眼泪
 遇上你是我的缘
 在梵高的星空下
 找个好人就嫁了吧
 下辈子也要找到你
 全世界最伤心的人
 寂寞的时候说爱我
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.