‘壹’ 如何识别条形码
可用手机微信app进行扫描,具体操作步骤如下:
1、首先在手机的桌面上点击打开“微信”app。
2、截止点击下方的“发现”。
3、然后再点击此页面内的“扫一扫”功能选项。
4、然后就会出现一个小框,然后将小框对准要进行识别的条形码,然后就会开始扫描。
5、接着就会出现此条形码的识别结果。
‘贰’ php生成条形码的图片的实例详解
php生成条形码的图片的实例详解
因为用户的需要
写了一个条形码;用php生成一个条形码的图片
这个大家应该比我要好很多的吧,在自己项目的根目录下建立一个测试文件(直接把下面的代码放进去运行一下看看,我也是抄袭别人的),在实际的项目中你可以将下面的代码封装到一个公共类文件下的一个函数,然后调用。
class
testinfo{
function
UPCAbarcode($code)
{
$trans_code
=
$code;
$lw
=
2.2;
$hi
=
40;
$Lencode
=
array('0001101','0011001','0010011','0111101','0100011',
'0110001','0101111','0111011','0110111','0001011');
$Rencode
=
array('1110010','1100110','1101100','1000010','1011100',
'1001110','1010000','1000100','1001000','1110100');
$ends
=
'101';
$center
=
'01010';
/*
Compute
the
EAN-13
Checksum
digit
*/
$ncode
=
'0'.$code;
$even
=
0;
$odd
=
0;
for
($x=0;$x<12;$x++)
{
if
($x
%
2)
{
$odd
+=
$ncode[$x];
}
else
{
$even
+=
$ncode[$x];
}
}
$code.=(10
-
(($odd
*
3
+
$even)
%
10))
%
10;
/*
Create
the
bar
encoding
using
a
binary
string
*/
$bars=$ends;
$bars.=$Lencode[$code[0]];
for($x=1;$x<6;$x++)
{
$bars.=$Lencode[$code[$x]];
}
$bars.=$center;
for($x=6;$x<12;$x++)
{
$bars.=$Rencode[$code[$x]];
}
$bars.=$ends;
/*
Generate
the
Barcode
Image
*/
$img
=
ImageCreate($lw*75+30,$hi-3);
//
95
$fg
=
ImageColorAllocate($img,
0,
0,
0);
$bg
=
ImageColorAllocate($img,
255,
255,
255);
ImageFilledRectangle($img,
0,
0,
$lw*75+30,
$hi+30,
$bg);
$shift=10;
for
($x=0;$x<strlen($bars);$x++)
{
if
(($x<0)
||
($x>=45
&&
$x<46)
||
($x
>=85))
{
$sh=10;
}
else
{
$sh=0;
}
if
($bars[$x]
==
'1')
{
$color
=
$fg;
}
else
{
$color
=
$bg;
}
ImageFilledRectangle($img,
($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color);
}
/*
Add
the
Human
Readable
Label
*/
ImageString($img,4,5,$hi-5,$code[0],$fg);
for
($x=0;$x<5;$x++)
{
ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg);
ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg);
}
ImageString($img,4,$lw*95-7,$hi,$code[11],$fg);
/*
Output
the
Header
and
Content.
*/
header("Content-Type:
image/png");
ImagePNG($img);
}
//}
echo
UPCAbarcode('201212070099');
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
‘叁’ 如何编译安装PHP扩展
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx
但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config
git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`
这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
‘肆’ 如何制作出包含信息的条形码
首先你需要把自己产品去中国物品编码中心去备案,备案之后你的产品就会有属于自己的条码数据,然后下载一个专业的条码打印软件,用产品的条码数据批量生成条形码,这样你制作出来的条形码,扫描出来的信息就是你提前编辑好的产品信息
‘伍’ 如何用PHP画出条形码
<?php
function UPCAbarcode($code) {
$lw = 2; $hi = 100;
$Lencode =
array('0001101','0011001','0010011','0111101','0100011',
'0110001','0101111','0111011','0110111','0001011');
$Rencode =
array('1110010','1100110','1101100','1000010','1011100',
'1001110','1010000','1000100','1001000','1110100');
$ends = '101'; $center
= '01010';
/* UPC-A Must be 11 digits, we compute the checksum. */
if
( strlen($code) != 11 ) { die("UPC-A Must be 11 digits."); }
/* Compute the
EAN-13 Checksum digit */
$ncode = '0'.$code;
$even = 0; $odd = 0;
for ($x=0;$x<12;$x++) {
if ($x % 2) { $odd += $ncode[$x]; } else {
$even += $ncode[$x]; }
}
$code.=(10 - (($odd * 3 + $even) % 10)) %
10;
/* Create the bar encoding using a binary string */
$bars=$ends;
$bars.=$Lencode[$code[0]];
for($x=1;$x<6;$x++)
{
$bars.=$Lencode[$code[$x]];
}
$bars.=$center;
for($x=6;$x<12;$x++) {
$bars.=$Rencode[$code[$x]];
}
$bars.=$ends;
/* Generate the Barcode Image */
$img =
ImageCreate($lw*95+30,$hi+30);
$fg = ImageColorAllocate($img, 0, 0,
0);
$bg = ImageColorAllocate($img, 255, 255, 255);
ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg);
$shift=10;
for ($x=0;$x<strlen($bars);$x++) {
if (($x<10) || ($x>=45
&& $x<50) || ($x >=85)) { $sh=10; } else { $sh=0; }
if
($bars[$x] == '1') { $color = $fg; } else { $color = $bg; }
ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color);
}
/* Add the Human Readable Label */
ImageString($img,4,5,$hi-5,$code[0],$fg);
for ($x=0;$x<5;$x++) {
ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg);
ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg);
}
ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg);
/* Output the Header and
Content. */
header("Content-Type: image/png");
ImagePNG($img);
}
UPCAbarcode('12345678901');
?>
‘陆’ 如何识别条形码
可用手机微信app进行扫描,具体操作步骤如下:
1、首先在手机的桌面上点击打开“微信”app。
‘柒’ PHP怎么生成条形码的示例代码
条形码不能判断产品的真伪,条形码是中国物品编码中心给到注册企业并由企业自行对公司产品进行编码的,用微信扫常见的生活用品一般能扫出来,但工业用品很多就扫不出。
‘捌’ 我要开发一个智能硬件产品(自动扫描二维码或条形码把读取的内容发送给php服),需要具备哪些专业知识
二维码或者条形码是个输入项,就像键盘在输入框输入一串内容一样,这里需要一个扫码设备,读取二维码或者条形码,然后通过程序将这个输入内容传给接口处理。这个程序需要自己去选,pc上面js就可以。
‘玖’ 急求!php生成条形码问题!
我用过一款免费的WEB打印控件,叫“楚琳WEB打印控件”,挺不错的,你可以下载一个试试看。
‘拾’ 条形码的识别原理
条形码的识别原理 由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出的光经光阑及凸透镜1后,照射到黑白相间的条形码上时,反射光经凸透镜2聚焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电 信号输出到放大整形电路.白条、黑条的宽度不同,相应的电信号持续时间长短也不同.但是,由光电转换器输出的与条形码的条和空相应的电信号一般仅10mV左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大.放大后的电信号仍然是一个模拟电信号,为了避免由条形码中的疵点和污点导致错误信号,在放大电路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读.整形电路的脉冲数字信号 经译码器译成数字、字符信息.它通过识别起始、终止字符来判别出条形码符号的码制及扫描方向;通过测量脉冲数字电信号0、1的数目来判别出条和空的数目.通过测量0、1信号持续的时间来判别条和空的宽度.这样便得到了被辩读的条形码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应的编码规则,便可将条形符号换成相应的数字、字符信息,通过接口电路送给计算机系统进行数据处理与管理,便完成了条形码辨读的全过程.