thinkPHP5引入endroid/qr-code類庫生成指定二維碼(本例生成指定網址)
阿新 • • 發佈:2018-12-14
我在專案開發中需要使用到的常見的一些類庫,基本都是Packagist / Composer 中國全量映象上找到,然後使用composer直接安裝。
廢話不多說開始吧!
在搜尋框中輸入endroid/qr-code,
點選第一個連結進入,
下滑找到這句話:
$ composer require endroid/qr-code
下載到本地,我這裡以c盤下載為例:
載入的檔案為vendor,下面的子目錄如下
我們需要用到的是endroid目錄。由於我們是在thinkPHP5專案下使用,所以你在你的TP5根目錄下composer該類庫,會自動載入到vendor目錄下,
我們在專案程式碼中可以直接通過use關鍵字引用使用,貼上程式碼
<?php namespace app\subsite\controller; use Endroid\QrCode\QrCode; class Index extends Base { function _initialize() { parent::_initialize(); } /* * 生成二維碼圖片 */ public function qr_code() { $link = 'http://'.$_SERVER['HTTP_HOST'].'/subsite/index/register'; $sha1 = sha1($link); $qrcode_dir = dce_dir_root . '/qrcode/' . substr($sha1, 0, 2) .'/'. substr($sha1, 2, 3) . '/'; if (!file_exists($qrcode_dir)) mkdir($qrcode_dir, 0777, true); $file_name = $qrcode_dir .$sha1 . '.png'; header('Content-Type: image/png'); if (is_file($file_name)) { echo file_get_contents($file_name); } else { $qrCode = new QrCode($link); echo $qrCode->writeString(); $qrCode->writeFile($file_name); } die(); } }
引用就完成了,具體操作,請大家在實操!