Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle ich einen QR-Code unter dem thinkphp5-Framework? (Code)

Wie erstelle ich einen QR-Code unter dem thinkphp5-Framework? (Code)

不言
Freigeben: 2023-04-04 08:32:01
nach vorne
4414 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Frage, wie man einen QR-Code unter dem thinkphp5-Framework generiert. (Code), es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Ohne weitere Umschweife beginnen wir mit dem Code:

Die erste Methode: Die Datei muss nicht lokal gespeichert werden, sondern wird direkt auf der Startseite angezeigt:

Das ist Der Inhalt im Controller. Oh ja, Sie müssen zuerst das SDK herunterladen: .phpqrcode-Klassendatei herunterladen, Download-Adresse: https://sourceforge.net/projects/phpqrcode/

Plug-in benötigt nur: Die heruntergeladene Klassendatei ist ein komprimiertes Paket. Sie enthält viele Dateien und Demonstrationsprogramme. Wir benötigen nur die Datei phpqrcode.php, um einen QR-Code zu generieren. Es handelt sich um eine Sammlungsdatei mehrerer Klassen. Wir müssen die Methode png() (Zeile 3090) der Klasse QRcode (Zeile 2963) verwenden.

Die Datei wird in der Framework-Erweiterungsdatei abgelegt. Sie können den Ordner selbst „PhpQrcode.php“ nennen.

<?php
namespace app\index\controller;
use think\Controller;
use think\Loader;

Loader::import(&#39;PhpQrcode.phpqrcode&#39;,EXTEND_PATH,&#39;.php&#39;);

class Index extends Controller
{
    //ajax访问
    //通过链接生成二维码
    public function code($url = "http://www.baidu.com")
    {
        $qrcode = new \QRcode();

        // $qrimage = new \QRimage();

        $value = $url;                    //二维码内容  
        $errorCorrectionLevel = &#39;H&#39;;    //容错级别  
        $matrixPointSize = 6;           //生成图片大小  

        ob_start();
        $qrcode::png($value,false , $errorCorrectionLevel, $matrixPointSize, 2);  
        // $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); //这里就是把生成的图片流从缓冲区保存到内存对象上,使用base64_encode变成编码字符串,通过json返回给页面。
        $imageString = base64_encode(ob_get_contents()); //关闭缓冲区
        ob_end_clean(); //把生成的base64字符串返回给前端 
        $data = array( &#39;code&#39;=>200, &#39;data&#39;=>$imageString ); 
        return json($data);



    }

 
}
Nach dem Login kopieren

Front-End-Datei. Ich verwende die JQuery, die relativ alt ist. Sie können sie also selbst ändern, wenn Sie JQuery verwenden:

<div id="logos">
<button onclick="changess()">点击</button>
  <img src="" class="qrcode" alt="二维码展示"/>

</div>
<script type="text/javascript" src="__INDEX__js/jquery.js"></script>
<script type="text/javascript">

  function changess()
  {
     var logos = document.getElementById (&#39;logos&#39;);
    $.ajax({
             type: "GET",
             url: "code.html",
             data: &#39;&#39;,
             dataType: "json",
             success: function(r){
                        if (r.code==200) { //console.log(r); 
                        var path = &#39;data:image/png;base64,&#39;+r.data; //给img的sec赋值。
                        console.log(path);
                         $("#logos").html("<img src="+path+">");
                        
                         logos.html("<img src="+path+">");
                         console.log( logos.html("<img src="+path+">"));
                       }else{
                            alert(r.err); 
                          }
                      }
         });
  }
</script>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen QR-Code unter dem thinkphp5-Framework? (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage