电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> PHP
用php生成EAN_13标准的条形码-PHP教程,PHP应用
作者:网友供稿 点击:20
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
这连天看见有人法帖讨论如很用php生成条形码,所以就用了点时间学了学ean_13标准.ean_13标准是广泛使用的条码编码标准,主要运用在商品流通方面,比如我们看到的商品上的条码就是这种编码标准,还有图书上的编码标准也是这种编码标准.
     下面的就是我的一段代码生成的是ean_13标准的条码,需要php+gd 环境
    [code:1:dfc50fedcf]<?
function ean_13($code) {
  //一个单元的宽度
  $lw = 2;
  //条码高 
  $hi = 100;
  // the guide code is no coding,is used to show the left part coding type//
  // array guide is used to record the ean_13 is left part coding type//
  $guide = array(1=>aaaaaa,aababb,aabbab,abaabb,abbaab,abbbaa,ababab,ababba,abbaba);
  $lstart =101;
  $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));
  $rencode = array(1110010,1100110,1101100,1000010,1011100,
                   1001110,1010000,1000100,1001000,1110100);    
   
  $center = 01010;
  
  $ends = 101;
  if ( strlen($code) != 13 )
   { die("upc-a must be 13 digits."); }
$lsum =0;
$rsum =0;
  for($i=0;$i<(strlen($code)-1);$i++)
  {
    if($i % 2)
{
 // $odd += $ncode[$x]
  $lsum +=(int)$code[$i];
 }else{
  $rsum +=(int)$code[$i];
 }
  
  }
  $tsum = $lsum*3 + $rsum;
    if($code[12] != (10-($tsum % 10)))
{
   die("the code is bad!");
    } 

 // echo $guide[$code[0]];
  $barcode = $lstart;
  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 .= $ends;
  
    $img = imagecreate($lw*95+60,$hi+30);
  $fg = imagecolorallocate($img, 0, 0, 0);
  $bg = imagecolorallocate($img, 255, 255, 255);
  imagefilledrectangle($img, 0, 0, $lw*95+60, $hi+30, $bg);
  $shift=10;
  for ($x=0;$x<strlen($barcode);$x++) {
    if (($x<4) || ($x>=45 && $x<50) || ($x >=92)) 
  { 
    $sh=10; 
  } else { 
    $sh=0; 
  }
    if ($barcode[$x] == 1) 

  $color = $fg;
    } else { 
  $color = $bg; 
}
    imagefilledrectangle($img, ($x*$lw)+30,5,($x+1)*$lw+29,$hi+5+$sh,$color);
  }
  /* add the human readable label */
  imagestring($img,5,20,$hi+5,$code[0],$fg);
  for ($x=0;$x<6;$x++) {
    imagestring($img,5,$lw*(8+$x*6)+30,$hi+5,$code[$x+1],$fg);
    imagestring($img,5,$lw*(53+$x*6)+30,$hi+5,$code[$x+7],$fg);
  }
 // imagestring($img,4,$lw*95+17,$hi-5,$code[12],$fg);
  /* output the header and content. */
  header("content-type: image/png");
  imagepng($img);
   
}

ean_13(6901028055048);

?> 

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·Windows下的PHP5.0安装配制详解-PHP教程,PHP安装
·PHP在XP下IIS和Apache2服务器上的安装-PHP教程,PHP应用
·最近忙于FTP,好站多多!有好多好东东哦!不敢独享!-PHP教程,PHP基础
·PHP 5.0 Pear安装方法-PHP教程,PHP安装
·PHP开发利器-PRADO 1.6(4)-PHP教程,PHP应用
·Sun Sparc Solaris 2.6 Apache-1.3.12+MySQL-3.23.5+PHP-3.0.15 安装记-PHP教程,PHP应用
·php5学习笔记(转)-PHP教程,PHP应用
·APACHE安装笔记-PHP教程,PHP安装
·PHP.MVC的模板标签系统(四)-PHP教程,PHP应用
·PHP.MVC的模板标签系统(二)-PHP教程,PHP应用

最新文章
·PHP源码-利用 QQWry.Dat 实现 IP 地址高效检索
·Php高手带路--问题汇总解答[2]
·PHPQQ编程(2):取QQ在线状态
·php5手动最简安装方法
·福利彩票幸运号码自动生成器
·PHP开发利器-PRADO 1.6
·在Apache 服务器上启用PHP支持
·Windows2000_pro下安装Apache+PHP4+My
·php文件上传的实现
·PHP开发框架的现状和展望


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号