html頁面: <img src="data:image/png;base64,{$qrcode}"/> 配置文件需要配置url: 'qrcode'=>'http:///app.php/User/download?zgyunyi_code=' 公共文件寫入加密: /** * 加密函數(shù) * @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'; // 點的大?。?到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)); } |
|
來自: 小馬哥技術(shù)屋 > 《生成二維碼》