现在的位置: 首页 > 西方诗歌 > 文章
用PHP实现登陆验证码(类似条行码状)
2019-07-21 / 来源:本站

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

时间:2019-07-1215:26编辑:本站文章内容用PHP实现登陆验证码(类似条行码状)修改时间:[2010/09/1321:33]阅读次数:[721]发表者:[起缘]phpfunctionUPCAbarcode($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-AMustbe11digits,wecomputethechecksum.*/if(strlen($code)!=11){die(UPC-AMustbe11digits.);}/*ComputetheEAN-13Checksumdigit*/$ncode=0.$code;$even=0;$odd=0;for($x=0;$x$x++){if($x%2){$odd+=$ncode[$x];}else{$even+=$ncode[$x];}}$code.=(10-(($odd*3+$even)%10))%10;/*Createthebarencodingusingabinarystring*/$bars=$ends;$bars.=$Lencode[$code[0]];for($x=1;$x$x++){$bars.=$Lencode[$code[$x]];}$bars.=$center;for($x=6;$x$x++){$bars.=$Rencode[$code[$x]];}$bars.=$ends;/*GeneratetheBarcodeImage*/$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;$xstrlen($bars);$x++){if(($x10)||($x=45$x50)||($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);}/*AddtheHumanReadableLabel*/ImageString($img,4,5,$hi-5,$code[0],$fg);for($x=0;$x$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);/*OutputtheHeaderandContent.*/header(Content-Type:image/png);ImagePNG($img);}UPCAbarcode(12345678901);。