好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解

Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解

熱門標簽:安裝電銷外呼系統 百度商鋪地圖標注 釘釘打卡地圖標注 地圖標注平臺怎么給錢注冊 衡水外呼系統平臺 注冊400電話申請 新河科技智能外呼系統怎么樣 常州地圖標注服務商 福州人工外呼系統哪家強

一、下載PHP版本的Zxing擴展庫

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

二、使用Zxing擴展庫

1、文件下載好后,直接解壓,結構如下,我們只需要lib這個文件夾

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

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

4、報錯 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');

5、報錯 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、在代碼里調用

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

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

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

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

巨人網絡通訊聲明:本文標題《Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解》,本文關鍵詞  Thinkphp,使用,Zxing,擴展,庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解》相關的同類信息!
  • 本頁收集關于Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产美女在线看| 18禁美女黄网站色大片下载| 韩国在线a免费观看网站| 午夜性视频| 手机亚洲第一页| 韩国三级女电影完整版| 成年人黄色毛片| 日韩精品一区二区在线观看| 爽?躁多水?快?深点车上| 亚洲一级毛片免费在线观看| 性做爰ⅩXXX熟女视频| 盗摄精品AV一区二区三区| 情倾宫闱| 久久久久久久久国产精品| 国产精品私拍99pans大尺度| 国产精品久久久久久久漫画软件| 男男虐强迫粗暴强j高hnp虐| 翁熄系列周梦莹怀孕| 99精产国品一二三产区网站| 日本人妻の电车痴汉Av| 女人又爽?又黄?真人快添漫画| 37西方大但人文艺术| 欧美在线香蕉在线视频| 97电影九七理论片| 国产麻豆17c91在线亚洲| 黄色一级大片免费看| GOGO大胆少妇大胆艺术| 骚片AV蜜桃精品一区| 韩国一级毛片视频免费观看| 360色情免费| 军人掀起衣服含着奶头h男男视频| 久久93精品国产91久久综合| 国产无遮挡又爽又黄大胸免费图片 | 揉我奶头?啊?嗯高潮麻豆| 欧美高大丰满sexvideo| 欧美日本一区二区三区| 国产处破苞无码精品入口| 真人无码爽爽爽视频辣妞| 国产农村妇女成人精品| 日韩免费a级在线观看| 亚洲精品无码久久久久秋霞|