文档章节

在Linux上搭建PHP条形码阅读器

rockman509
 rockman509
发布于 2017/02/28 17:53
字数 562
阅读 14
收藏 0

无论你是一个开发者还是一个用户,你都或许听说过SaaS、Paas、laaS这些词。这是三个不同的云端模型。为什么越来越多的人都来拥抱类似于Google Cloud,Azure和AWS这样的云服务端?因为使用这些云服务器不需要下载应用,也不需要安装。大量的软件和应用已经可以通过B\S端实现。假设你现在想要搭建一个基于WEB的条形码阅读器,使用Dynamsoft Barcode Reader SDK可以加快你的开发进程。

 

 

下载SDK

Dynamsoft Barcode Reader 30-day Free Trial

 

条形码阅读器的PHP服务端

Dynamsoft Barcode Reader 支持 64-bit位的 PHP  5.3 到 5.6版本。 因此,首先你需要检查安装在你系统中的PHP版本:

php -v


在确认了PHP版本之后,你还需要知道你的PHP是否是线性安全的:

php –i | grep Thread


复制Dynamsoft Barcode Reader库到/usr/lib:

sudo cp /lib/* /usr/lib


编辑php.ini:

extension=/php/extension/php_DynamsoftBarcodeReader.so


通过表单上传条形码图片到服务器:

<form id="uploadForm" method="post" action="readbarcode.php" enctype="multipart/form-data">
    <input type="file" id="upLoadFile" name="upLoadFile" class="ImgLocalPath">
    <input type="text" readonly="readonly" id="txtUploadFileName" class="radius3">
    <input type="button" id="btnUploadFile" value="Browse..." class="radius3 ml20">
    <input type="submit" id="btnReadBarcode" class="radius3 left ml20" value="ReadBarcode">
</form>

 

在服务端检测条形码数据:

include 'DynamsoftBarcodeReader.php';
ini_set('display_errors',1);
error_reporting(E_ALL);
$post_max_size = ini_get("post_max_size");
$maxsize =
 return_bytes($post_max_size);
if($_SERVER['CONTENT_LENGTH'] > $maxsize)
 {
   echo "Postdata size is bigger than " . $post_max_size;
   exit;
}
$file = $_FILES["upLoadFile"]["tmp_name"];
if(!empty($file)){
   readBarcode($file);                                        
}else {
   echo "Fail to upload file.";
}
function readBarcode($path)
 {
   try{      
      $br = new BarcodeReader();
   }
   catch (exception $exp){      
      echo 'Your barcode reader component is not registered correctly. Please refer to ReadMe.txt for details.<br>';
      exit;
   }
   $br->initLicense('693C401F1CC972A5018B729568B0CDD8');
   try{      
   $br->decodeFile($path);
   }
 catch(Exception $exp)
 {
   echo $br->getErrorString() . '<br>';
    exit;
  }
   $cnt = $br->getBarcodesCount();
   if($cnt > 0) {
      echo 'Total barcode(s) found:' . $cnt . '.<br>';
      for ($i = 0; $i < $cnt; $i++){
          $result = $br->getBarcodeResult($i);
          echo ($i+1) . ':';
          echo "$result->BarcodeFormatString,";
          echo "$result->BarcodeText<br>";
       }
    }else {
          echo 'No barcodes found.<br>';
   }  
}

如何在Ubuntu的Apache上部署示例代码

安装php5-curl, apache2 和 libapache2-mod-php5:

sudo apt-get install php5-curl apache2 libapache2-mod-php5


提取代码文件复制到 /var/www/html/:

sudo cp -r DecodeLocalFile /var/www/html

增加扩展路径到 /etc/php5/apache2/php.ini.

开启Apache服务:

sudo service apache2 start


在浏览器访问http://localhost/DecodeLocalFile/index.php

Demo和源码

点击PHP Barcode Reader 查看demo.

点击这里下载源码。

© 著作权归作者所有

共有 人打赏支持
rockman509

rockman509

粉丝 6
博文 20
码字总数 25462
作品 0
静安
程序员
开源RFID中间件--Rifidi EdgeServer

RifidiEdgeServer中间件,可从EPCGen2RFID阅读器收集数据,还可过滤信息并把信息传输到系统,并将数据运用到业务流程中。该中 间件不仅可与RFID读写器配合工作,而且还可与条形码扫描仪、传感...

匿名
2010/06/22
3.1K
0
Pramari推出免费开源RFID中间件

2009年10月26日,RFID软件公司Pramari推出了一款开源中间件平台——Rifidi Edge Server,它可提供免费下载和使用。 另外,绝大多数中小规模的客户只需支付约5000美元的费用,就可获得公司的支...

老枪
2009/10/27
1K
0
RFID简单介绍

RFID简介: RFID(射频识别:Radio Frequency Identification)俗称"电子标签",是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,作为条...

晚天吹凉风
03/01
0
0
Windows上PHP扩展的实现,部署及应用

PHP对扩展的编写要求非常严格。如果没有按照官方文档,使用对应的PHP版本,PHP源码版本,以及Visual Studio版本,即使能够在Windows上成功编译DLL,也会因为版本不匹配报错,从而无法运行。之...

yushulx
2015/12/18
51
0
专业的条形码读写控件VintaSoftBarcode.NET SDK

http://www.fanganwang.com/product/1473 VintaSoftBarcode.NET SDK是专业的.NET条形码阅读器和条码生成器控件,可以嵌入到你开发的软件中。它可以读写数字图形和PDF中的的一维和二维条码。 ...

baobiaokongjian
2014/06/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
11
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部