直接看代碼
這是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 去訪問這個方法,