透过 PHP 生成 一维码

Jun 13, 2016 am 10:30 AM
code height lt width

通过 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>
ログイン後にコピー


透过 PHP 生成 一维码

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

htmlの幅とは何を意味するのでしょうか? htmlの幅とは何を意味するのでしょうか? Jun 03, 2021 pm 02:15 PM

HTML5 では、width は幅を意味します。width 属性は要素のコンテンツ領域の幅を定義します。コンテンツ領域の外側に内側のマージン、境界線、および外側のマージンを追加できます。「要素 {width: value}」を設定するだけで済みます。要素。

Visual Studio Code で Unity プロジェクトを編集すれば、準備完了です。 Visual Studio Code で Unity プロジェクトを編集すれば、準備完了です。 Aug 08, 2023 am 10:21 AM

Microsoft は、Visual Studio Code 用の Unity 拡張機能のプレビュー バージョンをリリースしました。この新しい Unity 拡張機能を使用すると、Unity ゲームを作成およびデバッグできるようになります。この新しい Unity 拡張機能は、Visual Studio および Visual Studio Tools for Unity ですでに利用可能ないくつかの人気機能をもたらし、Visual Studio Code の C# を Unity 開発により適したものにします。現在、VSCode の Unity 拡張機能は次のものを提供しています。 Unity エディターと Unity プレーヤーをデバッグするための Unity デバッガー。 Unity 固有の C# アナライザーとリファクタリング。ユニ

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

CSS の寸法プロパティの詳細な説明: 高さと幅 CSS の寸法プロパティの詳細な説明: 高さと幅 Oct 21, 2023 pm 12:42 PM

CSS 寸法プロパティの詳細な説明: 高さと幅 フロントエンド開発において、CSS は強力なスタイル定義言語です。その中で、高さと幅は 2 つの最も基本的な寸法属性であり、要素の高さと幅を定義するために使用されます。この記事では、これら 2 つのプロパティを詳細に分析し、具体的なコード例を示します。 1. height 属性 height 属性は、要素の高さを定義するために使用されます。ピクセル、パーセンテージ、または

HTMLとコード:用語を詳しく見る HTMLとコード:用語を詳しく見る Apr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

请教怎么修改url某一参数的参数值呢?是要拆开了再拼回去吗 请教怎么修改url某一参数的参数值呢?是要拆开了再拼回去吗 Jun 13, 2016 am 10:24 AM

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

Microsoft は、Copilot を使用して Windows 11 23H2 ビルドをリリース プレビュー チャネルに展開しています Microsoft は、Copilot を使用して Windows 11 23H2 ビルドをリリース プレビュー チャネルに展開しています Sep 28, 2023 pm 07:17 PM

誰もが今日の Windows 1123H2 リリースを楽しみにしています。実際、Microsoft は、正式リリース段階に最も近いチャネルであるリリース プレビューのアップデートを開始したところです。ビルド 22631 として知られる Microsoft によると、ブランドを変更した新しいチャット アプリ、Phone Links、および Play Together ウィジェットを展開しており、これらは過去数か月間他の社内チャネルでテストされてきました。 「この新しい更新プログラムは、Windows 11 バージョン 22H2 と同じサービス ブランチとコード ベースを持ち、Windows の Copilot (プレビュー) を含む、新しく発表されたすべての機能と累積的になります」と Microsoft は約束しています。レドモンド関係者はさらに

CSSで幅の値を表現するにはどのような方法がありますか? CSSで幅の値を表現するにはどのような方法がありますか? Nov 13, 2023 pm 05:47 PM

メソッドには、ピクセル値、パーセンテージ、em 単位、rem 単位、vw/vh 単位、auto、fit-content、min-content、max-content が含まれます。詳細な紹介: 1. ピクセル値 (px): ピクセル値は固定されており、画面解像度がどのように変化してもその幅は変わりません。例: width: 300px; 2. パーセント (%): 幅のパーセントは、親要素の幅を基準にしています。例: width: 50%; 3、em 単位など。

See all articles