国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

php網(wǎng)站制作如何生成二維碼

發(fā)表日期:2020-12-15 09:04:27   作者來源:劉紅旺   瀏覽:2646   標(biāo)簽:php網(wǎng)站制作    
第一種方法找網(wǎng)上的api接口
 比如:聯(lián)圖

品味二維碼:
 


草料:


其他都可以在網(wǎng)上搜到很多,但是這些api可能過一段時間會失效,以前就遇到過這樣的情況,這就接口不可控性太大,所以我們要介紹第二種方法
二、用插件生成二維碼
這里使用的是PHPQRcode 新建函數(shù)(這里用的thinkPhp框架)
 /**
 * 生成二維碼
 * @param $save_path 二維碼保存路徑
 * @param string $qr_data 手機(jī)掃描后要跳轉(zhuǎn)的網(wǎng)址
 * @param string $qr_level 默認(rèn)糾錯比例 分為L、M、Q、H四個等級,H代表最高糾錯能力
 * @param int $qr_size 二維碼圖大小,1-10可選,數(shù)字越大圖片尺寸越大
 * @param string $save_prefix 圖片名稱前綴
 * @return bool|string
 */
function createQRcode($save_path, $qr_data = 'PHP QR Code :)', $qr_level = 'L', $qr_size = 4, $save_prefix = 'qrcode') {
  if (!isset($save_path)) return '';
  //設(shè)置生成png圖片的路徑
  $PNG_TEMP_DIR = & $save_path;
  //導(dǎo)入二維碼核心程序
  vendor('PHPQRcode.class#phpqrcode'); //PHPQRcode是文件夾名字,class#phpqrcode就代表class.phpqrcode.php文件名
  //檢測并創(chuàng)建生成文件夾
  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';
      //開始生成
      QRcode::png($qr_data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
  } else {
      //默認(rèn)生成
      QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
  }
  if (file_exists($PNG_TEMP_DIR . basename($filename))) {
      return basename($filename);
  } else {
      return FALSE;
  }
}
 
函數(shù)調(diào)用
$save_path = 'Qrcode/'; //圖片存儲的絕對路徑
$qr_data = C('PROTOCOL') . $_SERVER['SERVER_NAME'] .  . '/Share/member.html?str=' . $member['mstr'];
$qr_level = 'H';
$qr_size = '10';
$save_prefix = 'ZETA';
$filename = createQRcode($save_path, $qr_data, $qr_level, $qr_size, $save_prefix);
if ($filename) {
    $pic =  . '/' . $save_path . $filename;
}
$this->pic = $pic;
 
如何在利用PHPQRcode生成的二維碼中間加上logo圖片呢
$logo =  . $member['picture']; //logo的圖片地址
import("Org.Util.File");
$file = new \File($logo);
$logo = $file->getRealFile();
$file = new \File($pic);
$QR = $file->getRealFile();; //二維碼圖片地址
if ($logo !== FALSE) {
    $QR = imagecreatefromstring(file_get_contents($QR));
    $logo = imagecreatefromstring(file_get_contents($logo));
    $QR_width = imagesx($QR);
    $QR_height = imagesy($QR);
    $logo_width = imagesx($logo);
    $logo_height = imagesy($logo);
    $logo_qr_width = $QR_width / 5;
    $scale = $logo_width / $logo_qr_width;
    $logo_qr_height = $logo_height / $scale;
    $from_width = ($QR_width - $logo_qr_width) / 2;
    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
}
imagepng($QR, $save_path . $filename); //跟logo合并之后的地址
 
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/5919.html
台山市| 桂东县| 信阳市| 南开区| 商南县| 建湖县| 金溪县| 天峨县| 蓬安县| 吕梁市| 桦南县| 汽车| 武安市| 东辽县| 鄱阳县| 灯塔市| 内黄县| 靖安县| 望都县| 和顺县| 和静县| 惠州市| 石楼县| 西昌市| 杨浦区| 宁南县| 九台市| 巴塘县| 沈阳市| 浦北县| 海城市| 阳西县| 华池县| 虎林市| 罗田县| 南华县| 白水县| 新巴尔虎右旗| 芜湖县| 昌吉市| 钟山县|