thinkphp二維碼產生如何輸出到模板檔案

來源:互聯網
上載者:User
關鍵字 php

直接看代碼

這是thinkphp裡的代碼 產生二維碼

$model=M("member");                        $rs=$model->where("tmId".$tmId)->find();                        //產生二維碼                        vendor("phpqrcode.phpqrcode");                        $path='public/qrcode/';                        mkdir($path);                        $QR=$path.'qrcode.png';                        $text="http://www.xghm.com.cn/index.php/Login/reg/tmTel/".$rs['tmTel'];                        $size='4';                        $level='L';                        $padding=2;                        $logo=false;                        QRcode::png($text,$QR, $level, $size,$padding);                        $this->display();                            

這是模板裡的代碼






但是輸出來的結果是這樣的 如下:

哪裡出現問題了呢??

回複內容:

直接看代碼

這是thinkphp裡的代碼 產生二維碼

$model=M("member");                        $rs=$model->where("tmId".$tmId)->find();                        //產生二維碼                        vendor("phpqrcode.phpqrcode");                        $path='public/qrcode/';                        mkdir($path);                        $QR=$path.'qrcode.png';                        $text="http://www.xghm.com.cn/index.php/Login/reg/tmTel/".$rs['tmTel'];                        $size='4';                        $level='L';                        $padding=2;                        $logo=false;                        QRcode::png($text,$QR, $level, $size,$padding);                        $this->display();                            

這是模板裡的代碼






但是輸出來的結果是這樣的 如下:

哪裡出現問題了呢??

把最後一句 $this->display(); 去掉,最好在圖片產生前加上ob_clean()
正好My Code中也有一個類似方法

public function qrcode($guid) {        vendor("phpqrcode.phpqrcode");        //$data = "http://www.baidu.com";        $url="http://".$_SERVER['HTTP_HOST'].U('Urlhandle/show',array('guid'=>$guid),$domin=true);        $level = 'L';        $size = 8;        ob_clean();        \QRcode::png($url,false,$level,$size);    }

效果你可以去 http://www.wx2share.com 看

不如你使用phpqrcode這個外掛程式去產生二維碼

public function qrcode($text='https://www.baidu.com',$level=3,$size=4){    $text=$this->$_get['text']?$this->$_get['text']:$text;    $size=$this->$_get['size']?$this->$_get['size']:$size;    $level=$this->$_get['level']?$this->$_get['level']:$level;    Vendor('phpqrcode.phpqrcode');    $object = new \QRcode();    $object->png($text, false, $level, $size, 2);}

樓主似乎是混了。
首先是二維碼,需要一個獨立的action。
顯示介面,是另外一個action
比如:

public function action1(){    $this->display();}public function action2(){    ......    ......    QRcode::png($text,$QR, $level, $size,$padding);}模板裡面:

然後訪問action1,就可以了

產生單獨一個方法,然後用img標籤的src 去訪問這個方法,

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.