php-qrcode-detector-decoder二维码解析组件
php-qrcode-detector-decoder是一个用来检测和解析二维码的PHP库。
它的基础组件是ZXing library,是用户众多的二维码解析组件。
项目要求:PHP >= 5.6、GD Library。
使用方法
//引用
use ZxingQrReader;
//调用类库
$qrcode = new QrReader("二维码图片路径");
$content = $qrcode->text();
常见问题
1、Fatal error:: Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in...
报错原因:PHP内存不够
解决方法:在调用QrReader前,先用ini_set()方法修改内存限制大小
//修改php内存限制为1024M
ini_set('memory_limit','1024M');
2、Call to undefined function ZxingCommonfill_array()
报错原因:未找到类
解决方法:修改Zxing目录的QrReader.php文件,载入common/customFunctions.php文件,如下:
<?php
namespace Zxing;
use ZxingCommonHybridBinarizer;
use ZxingQrcodeQRCodeReader;
include_once('common/customFunctions.php');
final class QrReader
{
}
3、Fatal error: Uncaught Error: Class 'ZxingQrcodeDecoderInvalidArgumentException' not found in /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/decoder/Version.php:121 Stack trace: #0 /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/decoder/Version.php(112): ZxingQrcodeDecoderVersion::getVersionForNumber(48) #1 /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/detector/Detector.php(98): ZxingQrcodeDecoderVersion::getProvisionalVersionForDimension(209) #2 /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/detector/Detector.php(84): ZxingQrcodeDetectorDetector->processFinderPatternInfo(Object(ZxingQrcodeDetectorFinderPatternInfo)) #3 /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/QRCodeReader.php(82): ZxingQrcodeDetectorDetector->detect(NULL) #4 /www/wwwroot/www.baidu.com/api/qrReader/lib/QrReader.php(109): ZxingQrcodeQRCodeReader->decode(Object(ZxingBinaryBitmap)) #5 /www/wwwroot/www.baidu.com/api/index.php(9): QrReader->__construct('http://att.weil...') in /www/wwwroot/www.baidu.com/api/qrReader/lib/qrcode/decoder/Version.php on line 121
解决方法:在传图时对图片进行等比例压缩后再解码。