html页面:
<img src="data:image/png;base64,{$qrcode}"/>
配置文件需要配置url:
'qrcode'=>'http://ucloudant.com/app.php/User/download?zgyunyi_code='
公共文件写入加密:
/**
* 加密函数
* @author Steed
* @param $data
* @param string $key
* @return string
*/
function encrypt($data, $key = 'cloudant_api') {
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
$char = '';
$str = '';
for ($i = 0; $i < $len; $i++) {
$x == $l && $x = 0;
$char .= $key{$x};
$x++;
}
for ($i = 0; $i < $len; $i++) {
$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}
将二维码文件放到vendor目录下
/**
* 生成二维码
* @author Steed
* @param int $id
* @param int $meeting_id
* @return string
*/
private function qrcode($id = 0, $meeting_id = 0) {
Loader::import('phpqrcode.phpqrcode', VENDOR_PATH, EXT);
// 纠错级别:L、M、Q、H
$level = 'L';
// 点的大小:1到10,用于手机端4就可以了
$size = 4;
$margin = 1;
//把二维码图片保存到本地的代码
$path = RUNTIME_PATH . 'qrcode' . DS . 'voucher' . DS . $meeting_id;
if (!is_dir($path)) mkdir($path, 0777, true);
$path = $path . DS . $this->member['cloudant_id'] . $id . '.png';
$url = Config::get('qrcodeUrl') . encrypt('voucher,' . $id);
if (!file_exists($path)) \QRcode::png($url, $path, $level, $size, $margin);
return base64_encode(file_get_contents($path));
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。