透过 PHP 生成 一维码
通过 PHP 生成 一维码
此代码来自 http://www.nixiaofeng.com/110.html
<?php$code = $_GET['code'];if ($code != "") { if (!is_numeric($code)) die('输入的不是数字'); if (strlen($code) < 12 || strlen($code) > 13) die('条码长度不正确'); if (strlen($code) == 12) { // 计算校验位 $lsum = 0; $rsum = 0; for($i=1; $i<=strlen($code); $i++) { if($i % 2) { $lsum += (int)$code[$i-1]; }else{ $rsum += (int)$code[$i-1]; } } $tsum = $lsum + $rsum * 3; $chkdig = 10 - ($tsum % 10); if ($chkdig == 10) $chkdig = 0; $code .= $chkdig; } // 定义起始付 $start = '101'; // 定义中止符 $end = '101'; // 定义中间分隔符 $center = '01010'; // 定义左资料码 $Guide = array(0=>'AAAAAA','AABABB','AABBAB','AABBBA','ABAABB','ABBAAB','ABBBAA','ABABAB','ABABBA','ABBABA'); // 定义左侧码,分为“A”、“B”两种 $Lencode = array("A" => array('0001101','0011001','0010011','0111101','0100011','0110001','0101111','0111011','0110111','0001011'), "B" => array('0100111','0110011','0011011','0100001','0011101','0111001','0000101','0010001','0001001','0010111')); // 定义右侧码,统一为“C”编码 $Rencode = array('1110010','1100110','1101100','1000010','1011100','1001110','1010000','1000100','1001000','1110100'); // 编码起始符 $barcode = $start; // 编码左资料位 for($i=1; $i<=6; $i++) { $barcode .= $Lencode[$Guide[$code[0]][($i-1)]][$code[$i]]; } // 编码中间分隔符 $barcode .= $center; // 编码右资料位 for($i=7; $i<13; $i++) { $barcode .= $Rencode[$code[($i)]]; } // 编码中止符 $barcode .= $end; // 定义每个条码单元的宽度和高度,单位是像素 $width = 2; $height = 40; // 定义起始符、中止符、中间分隔符的高度增量 $increment = 10; // 创建方形(×95是因为整个条码共95个单元,+60和+30是给条码图片周围留空白边框) $img = ImageCreate($width*95+60,$height+30); // 目前这个方形是透明的 // “1”的颜色(黑)与“0”的颜色(白) $fg = ImageColorAllocate($img, 0, 0, 0); $bg = ImageColorAllocate($img, 255, 255, 255); // 以“0”的颜色(白色),填充整个方形 ImageFilledRectangle($img, 0, 0, $width*95+60, $height+30, $bg); // 循环编码后的每一个单元,输出条码图形 for ($x=0; $x<strlen($barcode); $x++) { // ($x<4) 为起始符,($x>=92)为中止符,($x>=45 && $x<50)为中间分隔符 // 这3个需要将高度增加 if (($x<4) || ($x>=45 && $x<50) || ($x>=92)) { $increment = 10; } else { $increment = 0; } // 当编码值为“1”时,输出黑色;当编码值为“0”时,输出白色 if ($barcode[$x] == '1') { $color = $fg; } else { $color = $bg; } ImageFilledRectangle($img, ($x*$width)+30,5,($x+1)*$width+29,$height+$increment,$color); } ImageString($img, 5, 20, $height+5, $code[0], $fg); for ($x=0; $x<6; $x++) { // 左侧识别码 ImageString($img, 5, $width*(8+$x*6)+30, $height+5, $code[$x+1], $fg); // 右侧识别码 ImageString($img, 5, $width*(53+$x*6)+30, $height+5, $code[$x+7], $fg); } header("Content-Type: image/jpeg"); ImageJPEG($img, "", 100);}?><form action="?">输入EAN-13条形码(如果输入12位长度,将自动计算校验位)<input type="text" name="code"> <input type="submit" value="生成条码图片"></form>


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In HTML5, width means width. The width attribute defines the width of the element's content area. You can add inner margins, borders, and outer margins outside the content area. You only need to set "element {width: value}" to the element.

Microsoft has released a preview version of the Unity extension for Visual Studio Code. This new Unity extension will allow you to write and debug Unity games. This new Unity extension brings some popular features already available in Visual Studio and Visual Studio Tools for Unity, making C# in Visual Studio Code better for Unity development. Currently, the Unity extension for VSCode provides the following: A Unity debugger for debugging your Unity editor and Unity player. Unity-specific C# analyzer and refactoring. Uni

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Detailed explanation of CSS dimension properties: height and width In front-end development, CSS is a powerful style definition language. Among them, height and width are the two most basic dimension attributes, used to define the height and width of the element. This article will analyze these two properties in detail and provide specific code examples. 1. Height attribute The height attribute is used to define the height of an element. You can use pixel, percentage or

HTMLisaspecifictypeofcodefocusedonstructuringwebcontent,while"code"broadlyincludeslanguageslikeJavaScriptandPythonforfunctionality.1)HTMLdefineswebpagestructureusingtags.2)"Code"encompassesawiderrangeoflanguagesforlogicandinteract

请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?那么请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?http://127.0.0.1/myo/newuser.php?mod=search&type=fastone比如现在我要修改mod=new要怎么做呢?------解决方案--------------------发送了请求

Everyone is looking forward to today's Windows 1123H2 release. In fact, Microsoft has just launched updates to the release preview, which is the closest channel before the official release stage. Known as Build 22631, Microsoft said they are rolling out the new rebranded chat app, phone link, and play together widgets that have been tested on other internal channels over the past few months. "This new update will have the same servicing branch and codebase as Windows 11 version 22H2 and will be cumulative with all newly announced features, including Copilot in Windows (preview)," Microsoft promises. Redmond officials further

Methods include pixel value, percentage, em unit, rem unit, vw/vh unit, auto, fit-content, min-content, max-content. Detailed introduction: 1. Pixel value (px): The pixel value is fixed, and its width remains unchanged no matter how the screen resolution changes. For example: width: 300px; 2. Percent (%): The percentage width is relative to the width of the parent element. For example: width: 50%; 3, em unit, etc.
