香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

建站专题

PHP生成条形码大揭秘

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-27 10:45:00 浏览数: 7

1.什么是条形码?

百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成平行线的图案。在日常生活中,条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件地点起止、类别、日期等许多信息。条形码编码格式具体请参考

打印出来的优惠券,商家需要用验证器读取条形码,来获得其有效性。

2.如何生成条形码?

首先找到强大的开源资料,在barcode官网下载barcodegen.1d-php5.v5.0.1.zip版本,然后解压文件放到你的Apache服务器的根目录下

2.1文件结构:

2.2具体解析

(1)class文件夹是已封装好生成条形码的类,只需要调用即可。

(2)index.php是一个可选择条件生成条形码的功能,是主程序的入口,而html文件夹是提供的被引用的代码,code39.php指的是指向默认的编码格式。

<?php header("Location: html/code39.php"); ?> 

(3)test.php是另外一个例子,通过代码直接生成HELLO条形码。 

View Code   <?php // 引用class文件夹对应的类 require_once("class/BCGFontFile.php"); require_once("class/BCGColor.php"); require_once("class/BCGDrawing.php");  // 条形码的编码格式 require_once("class/BCGcode39.barcode.php");  // 加载字体大小 $font = new BCGFontFile("./class/font/Arial.ttf", 18);  //颜色条形码 $color_black = new BCGColor(0, 0, 0); $color_white = new BCGColor(255, 255, 255);  $drawException = null; try {   $code = new BCGcode39();   $code->setScale(2);    $code->setThickness(30); // 条形码的厚度   $code->setForegroundColor($color_black); // 条形码颜色   $code->setBackgroundColor($color_white); // 空白间隙颜色   $code->setFont($font); //    $code->parse("HELLO"); // 条形码需要的数据内容 } catch(Exception $exception) {   $drawException = $exception; }  //根据以上条件绘制条形码 $drawing = new BCGDrawing("", $color_white); if($drawException) {   $drawing->drawException($drawException); } else {   $drawing->setBarcode($code);   $drawing->draw(); }  // 生成PNG格式的图片 header("Content-Type: image/png");   $drawing->finish(BCGDrawing::IMG_FORMAT_PNG); ?>

3.实际应用

对于上面有个大概的了解后,下面我们可以重新整合下代码,更加方便的使用它。

首先新建buildcode.php文件中,根据test.php文件进行改写,从请求的文件中获取数据:

1).条形码的编码格式

2).条形码需要的数据内容

View Code  <?php // Including all required classes require_once("class/BCGFontFile.php"); require_once("class/BCGColor.php"); require_once("class/BCGDrawing.php");  $codebar = $_REQUEST["codebar"]; //条形码将要数据的内容  // Including the barcode technology require_once("class/".$codebar.".barcode.php");  // Loading Font $font = new BCGFontFile("./class/font/Arial.ttf", 12);  // The arguments are R, G, B for color. $color_black = new BCGColor(0, 0, 0); $color_white = new BCGColor(255, 255, 255);  $drawException = null; try {   $code = new $codebar();//实例化对应的编码格式   $code->setScale(2); // Resolution   $code->setThickness(23); // Thickness   $code->setForegroundColor($color_black); // Color of bars   $code->setBackgroundColor($color_white); // Color of spaces   $code->setFont($font); // Font (or 0)   $text = $_REQUEST["text"]; //条形码将要数据的内容   $code->parse($text); } catch(Exception $exception) {   $drawException = $exception; }  /* Here is the list of the arguments  - Filename (empty : display on screen)  - Background color */ $drawing = new BCGDrawing("", $color_white); if($drawException) {   $drawing->drawException($drawException); } else {   $drawing->setBarcode($code);   $drawing->draw(); }  // Header that says it is an image (remove it if you save the barcode to a file) header("Content-Type: image/png");  // Draw (or save) the image into PNG format. $drawing->finish(BCGDrawing::IMG_FORMAT_PNG); ?> 

然后新建test.html文件,向buildcode.php请求数据

<!DOCTYPE html> <html> <head> <title>Test with embedded image</title> </head> <body>  <img src="buildcode.php?codebar=BCGcode39&text=abc123"/> </body> </html> 

最后进行访问,浏览器直接生成png格式的条形码

其中codebar支持的编码格式可以由用户请求所得:

/*"BCGcodabar","BCGcode11","BCGcode39","BCGcode39extended","BCGcode93",   "BCGcode128","BCGean8","BCGean13","BCGisbn","BCGi25","BCGs25","BCGmsi",   "BCGupca","BCGupce","BCGupcext2","BCGupcext5","BCGpostnet","BCGothercode"*/  剩下的就是验证了

4.验证

我们如何验证条形码是否有效,即能否读出条形码中的内容。

先将图片保存下来,然后访问官网提供的验证功能,将图片上传就Ok了! 

今天和大家一起揭秘了php如何生成条形码的,希望大家可以对条形码的形成有个大概的了解,对今后的学习有所帮助。

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

24
04月
CSS3改变浏览器滚动条样式

注:该方法只适用于 -webkit- 内核浏览器浏览器滚动条太宽,太丑,影响日常开发怎么办,改TA滚动条外观由2部分组成:1.滚动条整体滑轨... >>详情

13
04月
网站建设的安全性应该怎样保障

安全性对于企业网站建设的发展是至关重要的,企业网站建设如果不注意安全的防范是很可能造成全盘皆输的厄运,当然对于站长如果能够积极的面对和解决网... >>详情

25
04月
PHP数组常用函数实例小结

本文实例讲述了PHP数组常用函数。分享给大家供大家参考,具体如下:统计数组元素的个数和唯一性1.count() 函数的作用是计算数组中的元素... >>详情

11
05月
专业网站设计公司我国信息时代撑起了一片天

专业网站设计公司我国信息时代撑起了一片天?因为,专业网站建设公司在建设网站的时候,也知道网络技术的快速发展,这样给社会做出了很大的贡献,网站... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号