> composer 引入 `composer require endroid/qr-code`
```
~~~
<?php
namespace app\common\service;
use fast\Random;
use Endroid\QrCode\QrCode;
use think\Exception;
class QrcodeSrvice
{
/**
* @param $text
* @param int $size
* @param bool $domain
* @return string
* @throws \Endroid\QrCode\Exceptions\ImageTypeInvalidException
* @describe:生成普通二維碼
*/
public static function make_qrcode($text,$size=105,$domain=false){
$img_name = Random::alnum(15);
$n = date("Ym");
$dir= app()->getRootPath()."public/qrcode/code/".$n;
//判斷目錄是否存在
if (!is_dir($dir)) {
mkdir($dir, 0777, true);
}
$pathname = $dir."/" . $img_name . '.png';
$qrCode = new QrCode();
$qrCode->setText($text)
->setSize($size)
->setPadding(15)
->setErrorCorrection('high')
->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
->setImageType(QrCode::IMAGE_TYPE_PNG);
try {
$qrCode->save($pathname);
$str="/qrcode/code/".$n."/". $img_name . '.png';
if ($domain){
return request()->domain().$str;
}else{
return $str;
}
} catch (\Endroid\QrCode\Exceptions\ImageTypeInvalidException $exception) {
return "";
}
}
/**
* @param $text
* @param $logo
* @param bool $domain
* @return string
* @throws \Endroid\QrCode\Exceptions\DataDoesntExistsException
* @throws \Endroid\QrCode\Exceptions\ImageTypeInvalidException
* @describe:生成帶logo 的二維碼
*/
public static function QrCodeWithLogo($text,$logo,$domain=false){
if (!file_exists($logo)){
exception("logo地址不存在");
}
$img_name = Random::alnum(15);
$n = date("Ym");
$dir= app()->getRootPath()."public/qrcode/".$n;
//判斷目錄是否存在
if (!is_dir($dir)) {
mkdir($dir, 0777, true);
}
$pathname = $dir."/" . $img_name . '.png';
$qrCode = new QrCode();
$qrCode->setText($text)
->setSize(300)
->setLogo($logo)
->setLogoSize(60)
->setErrorCorrection('high')
->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
->setImageType(QrCode::IMAGE_TYPE_PNG);
$qrCode->save($pathname);
$str="/qrcode/".$n."/". $img_name . '.png';
if ($domain){
return request()->domain().$str;
}else{
return $str;
}
}
}
~~~
```
- 空白目錄
- thinkphp5
- tools-常用類庫
- redis類庫
- Excel類庫
- File文件操作類庫
- Http請求類庫
- Maile郵件發送
- Hooks行為鉤子
- 七牛云
- 隨機數和字符串生成
- 字符串處理
- 時間類處理
- tree型轉換
- 工具類庫
- 文件打包下載
- 常用功能
- 文件上傳
- php生成word文檔
- elasticsearch 基本搜索
- 使用jwt開發API接口
- 安裝模及搭建
- ApiCheck.php
- ApiCheckLogin.php
- common.php
- Login.php
- Comment.php
- 漢字轉拼音
- 安裝使用
- Pinyin類
- elasticsearch操作
- 常用方法
- 數據源生成layui-select
- 獲取自定義配置項
- 百度編輯器
- 格式化文件大小
- 多語言設置
- hook監聽
- 域名綁定到模塊
- thinkphp6
- 文件上傳
- tp5totp6
- 創建路徑
- 獲取類所有方法
- password_hash加密驗證
- 生成 qrcode
- 郵件發送
- 獲取QQ信息
- GoogleAuthenticator
- redis限流
- redis 加鎖
- 百度翻譯
- QueryList爬取數據
- 獲取時間類
- 命令
- Git常用命令
- easyswoole
- pix_qrcode
- 驗證 cpf,cnpj
- php常用方法
- 日志
- 卡通頭像
- 兩位小數
- 圖片轉base64
- auth加密解密
- phpoffice/phpspreadsheet導入導出
- fastadmin
- 樹結構
- 單選框
- 復選框
- 二級搜索
- select選擇框
- selectpage選中回調事件
- 標簽添加
- 修改where條件
- 表格列表中添加input框
- selectpage事件
- fieldlist
- js操作
- test_js
- 多表格
- template模板