随着云计算技术的不断发展,越来越多的服务开始转向云端。例如,Amazon Web Services (AWS)、Microsoft Azure和Google Cloud等平台提供了丰富的云服务,用户无需下载和安装任何应用程序,只需通过Web浏览器即可访问各种软件和功能。假设想从头开始构建一个Web条码读取服务,Dynamsoft Barcode Reader SDK可以加速开发过程。
DynamsoftBarcode Reader SDK的Linux版本支持以下操作系统:
此外,它还支持以下Web服务器:
支持的PHP版本包括:
无论是线程安全还是非线程安全的版本都得到支持。
Dynamsoft Barcode Reader SDK支持多种1D和2D条码类型,包括:
同时,它还支持以下图像类型:
能够检测到的条码信息包括条码类型、条码数量、条码值、条码原始数据、条码边界矩形、四个角的坐标以及页码等。
Dynamsoft Barcode Reader SDK具有以下特点:
服务器端PHP条码读取器支持64位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
使用表单上传条码图片到Web服务器:
<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="Read Barcode"/>
</form>
在服务器端检测条码数据:
<?php
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 "Post data 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/>";
}
}
?>
安装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
在Firefox或Chrome中访问http://localhost/DecodeLocalFile/index.php。
访问PHP Barcode Reader在线演示。
如果想构建一个基于Linux的PHP服务器端条码读取器,请立即开始:
DynamsoftBarcode Reader 30天免费试用