调用:
$save_path = './Uploads/QRcode/';
$web_path = '/Uploads/QRcode/';
// $currentUrl = "http://".$_SERVER["HTTP_HOST"].(($_SERVER["SERVER_PORT"]==="80")?"":$_SERVER["SERVER_PORT"]).$_SERVER["REQUEST_URI"];
$currentUrl = 'http://'.$_SERVER["HTTP_HOST"].U('signin').'?mid='.$mid.'&uid='.$uid;
$qr_data = $currentUrl;
$qr_level = 'H';
$qr_size = 20;
$save_prefix = 'sign';
// dump($save_path);exit;
if($filename = createQRcode($save_path,$qr_data,$qr_level,$qr_size,$save_prefix))
{
$code = $web_path.$filename;
}
加载的扩展类请到 php二维码生成 : https://pan.baidu.com/s/1c22JwdE
/**
* 功能:生成二维码
*@paramstring
$qr_data 手机扫描后要跳转的网址
*@paramstring
$qr_level 默认纠错比例 分为L、M、Q、H四个等级,H代表最高纠错能力
*@paramstring
$qr_size 二维码图大小,1-10可选,数字越大图片尺寸越大
*@paramstring
$save_path 图片存储路径
*@paramstring
$save_prefix 图片名称前缀
*/
functioncreateQRcode($save_path,$qr_data='PHP
QR Code :)',$qr_level='L',$qr_size=4,$save_prefix='qrcode'){
if(!isset($save_path))return'';
//设置生成png图片的路径
$PNG_TEMP_DIR = & $save_path;
//导入二维码核心程序
vendor('PHPQRcode.class#phpqrcode'); //注意这里的大小写哦,不然会出现找不到类,PHPQRcode是文件夹名字,class#phpqrcode就代表class.phpqrcode.php文件名
//检测并创建生成文件夹
if(!file_exists($PNG_TEMP_DIR)){
mkdir($PNG_TEMP_DIR);
}
$filename = $PNG_TEMP_DIR;
$errorCorrectionLevel ='L';
if(isset($qr_level)
&& in_array($qr_level,
array('L','M','Q','H'))){
$errorCorrectionLevel = & $qr_level;
}
$matrixPointSize = 4;
if(isset($qr_size)){
$matrixPointSize = & min(max((int)$qr_size, 1), 10);
}
if(isset($qr_data))
{
if(trim($qr_data)
==''){
die('data
cannot be empty!');
}
//生成文件名 文件路径+图片名字前缀+md5(名称)+.png
$filename = $PNG_TEMP_DIR.$save_prefix.md5($qr_data.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
//开始生成
QRcode::png($qr_data, $filename, $errorCorrectionLevel,
$matrixPointSize, 2);
}else{
//默认生成
QRcode::png('PHP
QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
}
// dump($filename);exit;
if(file_exists($PNG_TEMP_DIR.basename($filename)))
returnbasename($filename);
else
return FALSE;
}


被折叠的 条评论
为什么被折叠?



