生成二維碼並指定地址跳轉
阿新 • • 發佈:2018-12-31
/* * 功能:生成二維碼 * @param string $qr_data 手機掃描後要跳轉的網址 * @param string $qr_level 預設糾錯比例 分為L、M、Q、H四個等級,H代表最高糾錯能力 * @param string $qr_size 二維碼圖大小,1-10可選,數字越大圖片尺寸越大 * @param string $save_path 圖片儲存路徑 * @param string $save_prefix 圖片名稱字首 */ function createQRcode($save_path, $qr_data, $qr_level = 'L', $qr_size = 5, $save_prefix = 'qrcode') { vendor('phpqrcode.phpqrcode'); $qr = new \QRcode(); if (!isset($save_path)) return ''; //設定生成png圖片的路徑 $PNG_TEMP_DIR = &$save_path; //匯入二維碼核心程式 //檢測並建立生成資料夾 if (!file_exists($PNG_TEMP_DIR)) { mkdir($PNG_TEMP_DIR); } $filename = $PNG_TEMP_DIR . 'test.png'; $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'; //開始生成 $qr::png($qr_data, $filename, $errorCorrectionLevel, $matrixPointSize, 2); } else { //預設生成 $qr::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); } if (file_exists($PNG_TEMP_DIR . basename($filename))) return basename($filename); else return FALSE; } }
/** * 生成二維碼 */ public function qrcode() { $save_path = isset($_GET['save_path']) ? $_GET['save_path'] : '/qrcode/'; //圖片儲存的絕對路徑 $web_path = isset($_GET['save_path']) ? $_GET['web_path'] : '/qrcode/'; //圖片在網頁上顯示的路徑 $qr_data = isset($_GET['qr_data']) ? $_GET['qr_data'] : 'http://www.baidu.com/'; //二維碼內容 $qr_level = isset($_GET['qr_level']) ? $_GET['qr_level'] : 'H'; $qr_size = isset($_GET['qr_size']) ? $_GET['qr_size'] : '10'; $save_prefix = isset($_GET['save_prefix']) ? $_GET['save_prefix'] : 'ZETA'; if ($filename = $this->createQRcode($save_path, $qr_data, $qr_level, $qr_size, $save_prefix)) { $pic = $web_path . $filename; } echo "<img src='" . $pic . "'>"; }phpqrcode下載地址:https://sourceforge.net/projects/phpqrcode/files/