您的位置:首页 > 编程语言 > PHP开发

ThinkPHP下php生成二维码方法示例

2016-09-01 16:03 465 查看
在ThinkPHP框架下,生成二维码方法示例:

使用phpqrcode可以很简单地生成二维码。phpqrcode的下载路径:https://sourceforge.net/projects/phpqrcode/

在操作前,应该在系统框架的扩展目录中添加Vendor库,即要包含\ThinkPHP\Extend\Vendor\phpqrcode\phpqrcode.php文件及其相关支持文件。

<?php
header("Content-type: text/html; charset=utf-8");
class MesTestAction extends Action {
function testQrcode() {
$vid = 242183;
$data = 'http://mp.weixin.qq.com/s?__biz=MzAwNjI2OTU1NQ==&mid=2652294718&idx=1&sn=157d9c8b22d18a6c63c49270125e002c&scene=1&srcid=0828YwT5xldv0WjdlobnHR2u#rd';

vendor("phpqrcode.phpqrcode");
$path = SITE_PATH."/Uploads/Vote/".$vid.'/qrcode/';
if ( ! file_exists($path) ) {
$resCreatPath = $this->mkdirs($path);
if ( ! $resCreatPath ){
exit('fail to create the path');
} else {
echo 'succeed to create the path<br/>';
}

}
// 生成的文件名
$fileName = $path.'mpWcChat'.'.png';
if ( ! file_exists($fileName) ) {
// 纠错级别:L、M、Q、H
$level = 'L';
// 点的大小:1到10,用于手机端4就可以了
$size = 4;
QRcode::png($data, $fileName, $level, $size);
}
}

//生成多级目录的方法
//第1种方法:
function mkdirs($dir, $mode = 0777)  {
if( ! is_dir($dir) ) {
if ( ! $this->mkdirs(dirname($dir), $mode) ) {
return false;
}
if( ! mkdir($dir, $mode) ) {
return false;
}
}
return true;
}

/*//第2种方法:
//必须在PHP5下才可以使用该函数创建多级目录。
//因为PHP5对创建目录函数 mkdir 增加了一个新的参数 recursive,
//通过设置 recursive 为 true 可以实现递归创建目录的目的,
//但是这个在PHP4环境下是行不通的
function mkdirs($dir, $mode = 0777)  {
return mkdir($path,0777,true);
}
*/

/*
//第3种方法:
function mkdirs($dir, $mode = 0777)  {
if ( is_dir($dir) || @mkdir($dir, $mode) ) { return TRUE; }
if ( ! $this->mkdirs(dirname($dir), $mode) ) { return FALSE; }
return @mkdir($dir, $mode);
}
*/

/*
//第4种方法:
function mkdirs($dir, $mode = 0777)  {
return is_dir($dir) or ( $this->mkdirs(dirname($dir)) and mkdir($dir, $mode) );
}
*/
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 二维码 ThinkPHP