ThinkPHP-保存生成的二维码
生活随笔
收集整理的這篇文章主要介紹了
ThinkPHP-保存生成的二维码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通過(guò)TP框架引入Qrcode插件,然后調(diào)用插件生成二維碼,并保存
1.引入qrcode插件:
2.功能頁(yè)面-生成二維碼按鈕:
3.生成二維碼-代碼:
4.后臺(tái)代碼-通過(guò)vendor方法引入:
//下載生成的二維碼-引用方法1 public function qrcode1(){header("Content-Type: text/html;charset=utf-8"); //引入二維碼生成插件vendor("phpqrcode.phpqrcode");// 生成的二維碼所在目錄+文件名 $path = "./Uploads/QRcode/";//生成的二維碼所在目錄if(!file_exists($path)){ mkdir($path, 0700,true);}$time = time().'.png';//生成的二維碼文件名$fileName = $path.$time;//1.拼裝生成的二維碼文件路徑$data = '20171214';//2.生成二維碼的數(shù)據(jù)(掃碼顯示該數(shù)據(jù))$level = 'L'; //3.糾錯(cuò)級(jí)別:L、M、Q、H $size = 10;//4.點(diǎn)的大小:1到10,用于手機(jī)端4就可以了 ob_end_clean();//清空緩沖區(qū)\QRcode::png($data, $fileName, $level, $size);//生成二維碼//文件名轉(zhuǎn)碼$file_name = iconv("utf-8","gb2312",$time);$file_path = $_SERVER['DOCUMENT_ROOT'].'/'.$fileName;//獲取下載文件的大小$file_size = filesize($file_path);//$file_temp = fopen ( $file_path, "r" );//返回的文件header("Content-type:application/octet-stream");//按照字節(jié)大小返回header("Accept-Ranges:bytes");//返回文件大小header("Accept-Length:".$file_size);//這里客戶端的彈出對(duì)話框header("Content-Disposition:attachment;filename=".$time);echo fread ( $file_temp, filesize ( $file_path ) );fclose ( $file_temp );exit ();}拓展-瀏覽器顯示
ThinkPHP引入二維碼類的方式還有一種,就是通過(guò)import進(jìn)行引入,與vendor稍有不同1.引入qrcode插件
2.調(diào)用qrcode2方法:
3.后臺(tái)代碼-通過(guò)import引入:
public function qrcode2(){header("content-type:text/html;charset=utf-8");import("Vendor.phpqrcode.Phpqrcode");//引入Phpqrcode.class.php$path = "./Uploads/QRcode/";//創(chuàng)建路徑if(!file_exists($path)){ mkdir($path, 0700,true);//創(chuàng)建目錄}$time = time().'.png'; //創(chuàng)建文件名$fileName = $path.$time;//1.命名生成的二維碼文件$data = '20171214';//2.生成二維碼的數(shù)據(jù)(掃碼顯示該數(shù)據(jù))$level = 'L'; //3.糾錯(cuò)級(jí)別:L、M、Q、H $size = 10;//4.點(diǎn)的大小:1到10,用于手機(jī)端4就可以了 ob_end_clean();//清空緩沖區(qū)//生成二維碼-不保存:在當(dāng)前瀏覽器顯示\QRcode::png($data, false, $level, $size); //文件名轉(zhuǎn)碼$file_name = iconv("utf-8","gb2312",$time);$file_path = $_SERVER['DOCUMENT_ROOT'].'/'.$fileName;//獲取下載文件的大小$file_size = filesize($file_path);$file_temp = fopen ( $file_path, "r" );//返回的文件header("Content-type:application/octet-stream");//按照字節(jié)大小返回header("Accept-Ranges:bytes");//返回文件大小header("Accept-Length:".$file_size);//這里客戶端的彈出對(duì)話框header("Content-Disposition:attachment;filename=".$time);echo fread ( $file_temp, filesize ( $file_path ) );fclose ( $file_temp );exit ();}總結(jié)
以上是生活随笔為你收集整理的ThinkPHP-保存生成的二维码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sql截取指定长度
- 下一篇: Postgresql 填充所有的时间点