首頁 後端開發 php教程 ThinkPHP3.2.3扩张之二维码

ThinkPHP3.2.3扩张之二维码

Jun 13, 2016 pm 12:28 PM
errors logo path width

ThinkPHP3.2.3扩展之二维码

先安照路径放好如图。

简单使用无logo:

public function qrcode(){        Vendor('phpqrcode.phpqrcode');        //生成二维码图片        $object = new \QRcode();        $url='http://www.shouce.ren/';//网址或者是文本内容        $level=3;        $size=4;        $errorCorrectionLevel =intval($level) ;//容错级别        $matrixPointSize = intval($size);//生成图片大小        $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);    }
登入後複製

高级使用带logo:

public function qrcode(){        Vendor('phpqrcode.phpqrcode');        //生成二维码图片        $object = new \QRcode();        $qrcode_path='';        $file_tmp_name='';        $errors=array();        if(!empty($_POST)){            $content = trim($_POST['content']); //二维码内容            $contentSize=$this->getStringLength($content);            if($contentSize>150){                $errors[]='字数过长,不能多于150个字符!';            }            if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp_name'])){                if($_FILES['upimage']['size']>512000){                    $errors[]="你上传的文件过大,最大不能超过500K。";                }                $file_tmp_name=$_FILES['upimage']['tmp_name'];                $fileext = array("image/pjpeg","image/jpeg","image/gif","image/x-png","image/png");                if(!in_array($_FILES['upimage']['type'],$fileext)){                    $errors[]="你上传的文件格式不正确,仅支持 png, jpg, gif格式。";                }            }            $tpgs=$_POST['tpgs'];//图片格式            $qrcode_bas_path='upload/qrcode/';            if(!is_dir($qrcode_bas_path)){                mkdir($qrcode_bas_path, 0777, true);            }            $uniqid_rand=date("Ymdhis").uniqid(). rand(1,1000);            $qrcode_path=$qrcode_bas_path.$uniqid_rand. "_1.".$tpgs;//原始图片路径            $qrcode_path_new=$qrcode_bas_path.$uniqid_rand."_2.".$tpgs;//二维码图片路径            if(Helper::getOS()=='Linux'){                $mv = move_uploaded_file($file_tmp_name, $qrcode_path);            }else{                //解决windows下中文文件名乱码的问题                $save_path = Helper::safeEncoding($qrcode_path,'GB2312');                if(!$save_path){                    $errors[]='上传失败,请重试!';                }                $mv = move_uploaded_file($file_tmp_name, $qrcode_path);            }            if(empty($errors)){                $errorCorrectionLevel = $_POST['errorCorrectionLevel'];//容错级别                $matrixPointSize = $_POST['matrixPointSize'];//生成图片大小                $matrixMarginSize = $_POST['matrixMarginSize'];//边距大小                //生成二维码图片                $object::png($content,$qrcode_path_new, $errorCorrectionLevel, $matrixPointSize, $matrixMarginSize);                $QR = $qrcode_path_new;//已经生成的原始二维码图                $logo = $qrcode_path;//准备好的logo图片                if (file_exists($logo)) {                    $QR = imagecreatefromstring(file_get_contents($QR));                    $logo = imagecreatefromstring(file_get_contents($logo));                    $QR_width = imagesx($QR);//二维码图片宽度                    $QR_height = imagesy($QR);//二维码图片高度                    $logo_width = imagesx($logo);//logo图片宽度                    $logo_height = imagesy($logo);//logo图片高度                    $logo_qr_width = $QR_width / 5;                    $scale = $logo_width/$logo_qr_width;                    $logo_qr_height = $logo_height/$scale;                    $from_width = ($QR_width - $logo_qr_width) / 2;                    //重新组合图片并调整大小                    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,                    $logo_qr_height, $logo_width, $logo_height);                    //输出图片                    //header("Content-type: image/png");                    imagepng($QR,$qrcode_path);                    imagedestroy($QR);                }else{                    $qrcode_path=$qrcode_path_new;                }            }else{                $qrcode_path='';            }        }        $data=array('data'=>array('errors'=>$errors,'qrcode_path'=>$qrcode_path));        $this->assign('data',$data);        $this->display();
登入後複製

演示地址:http://www.shouce.ren/tool/qrcode

用到助手类Helper地址:http://www.thinkphp.cn/topic/34875.html

  

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1654
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24
設定Linux系統的PATH環境變數步驟 設定Linux系統的PATH環境變數步驟 Feb 18, 2024 pm 05:40 PM

Linux系統如何設定PATH環境變數在Linux系統中,PATH環境變數用來指定係統在命令列中搜尋執行檔的路徑。正確設定PATH環境變數可以方便我們在任何位置執行系統指令和自訂指令。本文將介紹如何在Linux系統中設定PATH環境變量,並提供詳細的程式碼範例。查看目前的PATH環境變數在終端機中執行以下指令,可以查看目前的PATH環境變數:echo$P

html的width是什麼意思 html的width是什麼意思 Jun 03, 2021 pm 02:15 PM

在html5中,width的意思是寬度,width屬性定義元素內容區的寬度,在內容區外面可以增加內邊距、邊框和外邊距,只需要給元素設定「元素{width:數值}」即可。

如何設定path環境變數 如何設定path環境變數 Sep 04, 2023 am 11:53 AM

設定path環境變數的方法:1、Windows系統,開啟“系統屬性”,點選“屬性”選項,點選“進階系統設定”,在“系統屬性”視窗中,選擇“進階”標籤,然後點選“環境變量」按鈕,找到並點擊「Path」編輯儲存後即可;2、Linux系統,打開終端,打開你的bash配置文件,在文件末尾添加「export PATH=$PATH:文件路徑」保存即可;3、 MacOS系統,操作同上。

福田汽車發表全新Logo,同時公佈祥菱Q系列車型的售價訊息 福田汽車發表全新Logo,同時公佈祥菱Q系列車型的售價訊息 Sep 12, 2023 pm 09:09 PM

8月29日,福田汽車舉辦了一場華麗的品牌煥新發表會,為業界帶來了一系列令人振奮的消息。新的標誌、歐曼智藍底部換電產品以及全新的祥菱Q汽車成為了發布會的焦點福田汽車的新標誌展示了公司對未來的雄心壯志。福田汽車表示,這個全新的標誌象徵著品牌的更新和蓬勃發展,標誌著公司進入了新的發展階段在發布會上,福田汽車還推出了備受矚目的歐曼智藍底部換電產品,為用戶帶來了更便捷、有效率的使用體驗。同時,全新推出的祥菱Q汽車系列也吸引了眾多目光,共有4款車型,售價從16.78萬元到16.88萬元不等,為消費者提供了

如何正確設定Linux中的PATH環境變數 如何正確設定Linux中的PATH環境變數 Feb 22, 2024 pm 08:57 PM

如何正確設定Linux中的PATH環境變數在Linux作業系統中,環境變數是用來儲存系統層級的設定資訊的重要機制之一。其中,PATH環境變數被用來指定係統在哪些目錄中尋找可執行檔。正確設定PATH環境變數是確保系統正常運作的關鍵步驟。本文將介紹如何正確設定Linux中的PATH環境變量,並提供具體的程式碼範例。 1.查看目前PATH環境變數在終端機中輸入以下命

java中如何配置path環境變數 java中如何配置path環境變數 Nov 15, 2023 pm 01:20 PM

設定步驟:1、找到Java安裝目錄;2、找到系統的環境變數設定;3、在環境變數視窗中,找到名為「Path」的變量,並點擊編輯按鈕;4、在彈出的編輯環境變數窗口中,點選「新建」按鈕,並在彈出的對話框中輸入Java的安裝路徑;5、確認輸入正確後,點選「確定」按鈕即可。

Linux中PATH環境變數的作用與重要性 Linux中PATH環境變數的作用與重要性 Feb 21, 2024 pm 02:09 PM

《Linux中PATH環境變數的作用與重要性》PATH環境變數是Linux系統中非常重要的環境變數之一,它定義了系統在哪些目錄中尋找可執行程式。在Linux系統中,當使用者在終端輸入一個命令時,系統會在PATH環境變數所列出的目錄中逐個查找是否存在該命令的可執行文件,如果找到則執行,否則會提示「commandnotfound」。 PATH環境變數的作用:簡化

支付寶4年換新logo 支付寶4年換新logo Feb 23, 2024 pm 07:07 PM

支付寶每4年都是會更換全新的logo,那麼在2024年的logo是什麼樣的呢?用戶們能夠看到它有著全新的外觀,有著更高級的logo樣式。這篇支付寶4年換新logo介紹就能夠告訴大家具體內容,以下就是詳細介紹,趕快看看吧!支付寶使用教學支付寶4年換新logo是什麼logo展示:歷史樣式:1、2020版Logo2、2016版Logo3、所有版本logo軟體介紹:1、這個軟體裡成立於2004年,有著超多1000項生活服務。 2、這個軟體負責為數位化服務商提供產品和服務,有許多商家進駐。

See all articles