校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解

Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解

熱門標(biāo)簽:安裝電銷外呼系統(tǒng) 百度商鋪地圖標(biāo)注 釘釘打卡地圖標(biāo)注 地圖標(biāo)注平臺(tái)怎么給錢注冊(cè) 衡水外呼系統(tǒng)平臺(tái) 注冊(cè)400電話申請(qǐng) 新河科技智能外呼系統(tǒng)怎么樣 常州地圖標(biāo)注服務(wù)商 福州人工外呼系統(tǒng)哪家強(qiáng)

一、下載PHP版本的Zxing擴(kuò)展庫

下載地址:https://github.com/khanamiryan/php-qrcode-detector-decoder

二、使用Zxing擴(kuò)展庫

1、文件下載好后,直接解壓,結(jié)構(gòu)如下,我們只需要lib這個(gè)文件夾

2、將lib文件夾重命名為Zxing,然后打開Zxing目錄下的QrReader.php文件,可以發(fā)現(xiàn)命名空間是Zxing

3、接下來就很簡單了,把Zxing文件夾放到thnikphp的擴(kuò)展目錄extend里

4、報(bào)錯(cuò) Fatal error:: Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in

報(bào)錯(cuò)原因:PHP內(nèi)存不夠

解決方法:在調(diào)用QrReader前,先用ini_set()方法修改內(nèi)存限制大小

//修改php內(nèi)存限制為1024M
ini_set('memory_limit','1024M');

5、報(bào)錯(cuò) Call to undefined function Zxing\Common\fill_array()

解決方法:修改Zxing目錄的QrReader.php文件,載入common/customFunctions.php文件,如下:

?php
namespace Zxing;
 
use Zxing\Common\HybridBinarizer;
use Zxing\Qrcode\QRCodeReader;
include_once('common/customFunctions.php');
 
final class QrReader
{
}

QrReader.php完整代碼:

?php
namespace Zxing;
 
use Zxing\Common\HybridBinarizer;
use Zxing\Qrcode\QRCodeReader;
include_once('common/customFunctions.php');
 
final class QrReader
{
 const SOURCE_TYPE_FILE  = 'file';
 const SOURCE_TYPE_BLOB  = 'blob';
 const SOURCE_TYPE_RESOURCE = 'resource';
 
 private $bitmap;
 private $reader;
 private $result;
 
 public function __construct($imgSource, $sourceType = QrReader::SOURCE_TYPE_FILE, $useImagickIfAvailable = true)
 {
  if (!in_array($sourceType, [
   self::SOURCE_TYPE_FILE,
   self::SOURCE_TYPE_BLOB,
   self::SOURCE_TYPE_RESOURCE,
  ], true)) {
   throw new \InvalidArgumentException('Invalid image source.');
  }
  $im = null;
  switch ($sourceType) {
   case QrReader::SOURCE_TYPE_FILE:
    if ($useImagickIfAvailable  extension_loaded('imagick')) {
     $im = new \Imagick();
     $im->readImage($imgSource);
    } else {
     $image = file_get_contents($imgSource);
     $im = imagecreatefromstring($image);
    }
    break;
 
   case QrReader::SOURCE_TYPE_BLOB:
    if ($useImagickIfAvailable  extension_loaded('imagick')) {
     $im = new \Imagick();
     $im->readImageBlob($imgSource);
    } else {
     $im = imagecreatefromstring($imgSource);
    }
    break;
 
   case QrReader::SOURCE_TYPE_RESOURCE:
    $im = $imgSource;
    if ($useImagickIfAvailable  extension_loaded('imagick')) {
     $useImagickIfAvailable = true;
    } else {
     $useImagickIfAvailable = false;
    }
    break;
  }
  if ($useImagickIfAvailable  extension_loaded('imagick')) {
   if (!$im instanceof \Imagick) {
    throw new \InvalidArgumentException('Invalid image source.');
   }
   $width = $im->getImageWidth();
   $height = $im->getImageHeight();
   $source = new IMagickLuminanceSource($im, $width, $height);
  } else {
   if (!is_resource($im)) {
    throw new \InvalidArgumentException('Invalid image source.');
   }
   $width = imagesx($im);
   $height = imagesy($im);
   $source = new GDLuminanceSource($im, $width, $height);
  }
  $histo  = new HybridBinarizer($source);
  $this->bitmap = new BinaryBitmap($histo);
  $this->reader = new QRCodeReader();
 }
 
 public function decode()
 {
  try {
   $this->result = $this->reader->decode($this->bitmap);
  } catch (NotFoundException $er) {
   $this->result = false;
  } catch (FormatException $er) {
   $this->result = false;
  } catch (ChecksumException $er) {
   $this->result = false;
  }
 }
 
 public function text()
 {
  $this->decode();
 
  if (method_exists($this->result, 'toString')) {
   return $this->result->toString();
  }
 
  return $this->result;
 }
 
 public function getResult()
 {
  return $this->result;
 }
}

6、在代碼里調(diào)用

//引用
use Zxing\QrReader;
//調(diào)用類庫
$qrcode = new QrReader("二維碼圖片路徑"); 
$content = $qrcode->text();

到此這篇關(guān)于Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解的文章就介紹到這了,更多相關(guān)Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php+laravel 掃碼二維碼簽到功能
  • PHP實(shí)現(xiàn)一個(gè)二維碼同時(shí)支持支付寶和微信支付的示例
  • PHP基于phpqrcode類生成二維碼的方法示例詳解
  • PHP基于phpqrcode類庫生成二維碼過程解析
  • thinkphp3.2框架集成QRcode生成二維碼的方法分析
  • PHP生成二維碼與識(shí)別二維碼的方法詳解【附源碼下載】
  • php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼
  • PHP二維碼的生成與識(shí)別案例

標(biāo)簽:白城 六安 鶴崗 柳州 唐山 鷹潭 克拉瑪依 遼陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解》,本文關(guān)鍵詞  Thinkphp,使用,Zxing,擴(kuò)展,庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美三日本三级三级在线播放| 日韩亚洲欧美一区二区三区| 青娱乐精品视频在线| 国产亚洲成av人在线观看导航| 欧美系列在线观看| 国产在线精品一区在线观看麻豆| 亚洲综合一区二区三区| 久久久99精品久久| 欧美日本免费一区二区三区| 成人一区二区三区中文字幕| 免费高清视频精品| 一区二区不卡在线视频 午夜欧美不卡在| 精品成人免费观看| 欧美日本不卡视频| 91在线观看免费视频| 国产精品自拍一区| 日韩av成人高清| 亚洲h动漫在线| 亚洲人成网站影音先锋播放| 久久奇米777| 欧美成人一区二区| 欧美另类高清zo欧美| 在线看日本不卡| av在线免费不卡| 成人美女视频在线观看18| 久久9热精品视频| 免费欧美在线视频| 婷婷成人激情在线网| 一区二区三区免费网站| 自拍偷拍亚洲激情| 中文字幕亚洲成人| 久久精品亚洲一区二区三区浴池| 欧美国产精品一区二区三区| 精品精品国产高清一毛片一天堂| 欧美日本不卡视频| 欧美影视一区二区三区| 色综合天天天天做夜夜夜夜做| 99精品视频在线免费观看| 成人av在线网站| 成人福利视频在线| av电影一区二区| 91亚洲精华国产精华精华液| 91视视频在线观看入口直接观看www | 久久久久久久久久美女| 日韩一区二区麻豆国产| 欧美精品1区2区3区| 欧美午夜不卡在线观看免费| 欧美系列日韩一区| 欧美视频一区二| 777色狠狠一区二区三区| 欧美丰满少妇xxxxx高潮对白| 欧美日韩五月天| 日韩亚洲欧美综合| 久久九九久久九九| 国产精品高清亚洲| 亚洲欧美日韩中文播放| 亚洲夂夂婷婷色拍ww47| 日韩精品国产欧美| 国产乱子伦视频一区二区三区| 国产福利精品一区二区| zzijzzij亚洲日本少妇熟睡| 99九九99九九九视频精品| 日本福利一区二区| 欧美一区二区三区在线观看 | 亚洲一区日韩精品中文字幕| 亚洲电影你懂得| 六月丁香婷婷色狠狠久久| 国产福利一区二区| 在线一区二区三区四区五区| 3atv一区二区三区| xvideos.蜜桃一区二区| 亚洲免费看黄网站| 日本午夜精品视频在线观看 | 久久精品一级爱片| 亚洲激情五月婷婷| 日韩电影在线观看一区| 国产麻豆精品在线观看| 91视频91自| 日韩免费视频线观看| 中文字幕在线观看一区二区| 亚洲成年人影院| 国产成人无遮挡在线视频| 在线观看中文字幕不卡| 精品三级av在线| 亚洲男同1069视频| 久久91精品国产91久久小草| 99久久精品国产毛片| 日韩欧美一区二区视频| 中文字幕亚洲不卡| 久久成人免费网| 日本黄色一区二区| 久久久久久免费毛片精品| 亚洲成人午夜影院| 国产mv日韩mv欧美| 7777精品伊人久久久大香线蕉经典版下载 | 奇米一区二区三区| 一本久道久久综合中文字幕 | 日韩一区和二区| 中文字幕字幕中文在线中不卡视频| 久久99精品一区二区三区三区| 91色porny蝌蚪| 久久天堂av综合合色蜜桃网| 午夜久久久影院| 91浏览器入口在线观看| 精品日产卡一卡二卡麻豆| 亚洲一级在线观看| 99精品国产99久久久久久白柏| 精品国产免费一区二区三区香蕉| 亚洲综合色成人| av中文一区二区三区| 精品国产一区二区三区四区四| 亚洲一区二区精品久久av| www.久久久久久久久| www久久久久| 美国三级日本三级久久99| 在线观看不卡一区| 日本一区二区免费在线观看视频 | 夜夜揉揉日日人人青青一国产精品| 国产成人精品综合在线观看| 日韩三级电影网址| 日韩中文字幕区一区有砖一区 | 黄色资源网久久资源365| 777a∨成人精品桃花网| 亚洲国产va精品久久久不卡综合| 色婷婷久久久综合中文字幕| 亚洲欧美色一区| 91在线看国产| 亚洲色图一区二区| 波多野结衣一区二区三区| 国产亚洲综合av| 国产一区二区伦理| 久久久精品人体av艺术| 国产美女娇喘av呻吟久久| 久久影院电视剧免费观看| 极品少妇xxxx精品少妇偷拍| 欧美成人官网二区| 精品一二线国产| 久久一二三国产| 国产一本一道久久香蕉| 久久蜜桃一区二区| 成人性生交大合| 中文字幕一区二区三区乱码在线 | av高清久久久| 亚洲视频一区在线| 色婷婷激情久久| 亚洲国产另类av| 欧美一区二区三区免费视频| 男男gaygay亚洲| 久久欧美一区二区| a亚洲天堂av| 亚洲综合免费观看高清在线观看| 欧美日本一道本| 久久不见久久见免费视频7| 亚洲精品一区二区三区精华液| 国产美女娇喘av呻吟久久| 国产精品精品国产色婷婷| 色婷婷综合久久久久中文| 亚洲成人资源在线| 日韩一本二本av| 不卡一区二区三区四区| 亚洲图片一区二区| 欧美一区二区免费视频| 国产乱人伦偷精品视频不卡| 亚洲欧美在线高清| 欧美美女激情18p| 激情综合五月婷婷| 中文字幕亚洲不卡| 欧美日韩在线三级| 国产乱码精品一品二品| 亚洲男同性恋视频| 欧美大片免费久久精品三p| 成人蜜臀av电影| 日精品一区二区| 国产精品视频免费看| 欧美色手机在线观看| 国产一区视频在线看| 一区二区三区在线观看欧美| 日韩三级视频在线观看| 97久久超碰国产精品电影| 日韩激情在线观看| 综合av第一页| 精品久久久久香蕉网| 色综合久久88色综合天天免费| 久久99九九99精品| 一级中文字幕一区二区| 337p粉嫩大胆噜噜噜噜噜91av| 一本到不卡免费一区二区| 国产一区二区三区在线观看免费视频| 亚洲欧美另类久久久精品| 欧美成人伊人久久综合网| 91精品办公室少妇高潮对白| 国产综合成人久久大片91| 亚洲乱码精品一二三四区日韩在线| 日韩欧美卡一卡二| 91九色02白丝porn| 成人在线视频首页| 韩国毛片一区二区三区| 亚洲18色成人| 亚洲欧美激情一区二区| 国产偷国产偷精品高清尤物|