收藏本站
我的资料
我的订单
  购物车 (0)  
亲,您的购物车空空的哟~
去购物车结算
   
查看手机网站
其他帐号登录: 注册 登录
产品导航
  • 网页特效源码
    图片代码
    导航菜单
    选项卡/滑动门
    文字特效
    表单代码
    提示框/浮动层/弹出层
    DIV CSS
    html5 css3
    其他特效
  • 网站模板源码
    电脑、通讯、数码
    家具洁具、日用品
    建材、五金、装饰
    纺织、服装、鞋帽
    礼品玩具、工艺品
    家电、照明、电子
    文具、乐器、体育
    机电、仪器、设备
    食品、饮料、酒类
    汽车、摩托电动车
    能源、环保、节能
    冶金、金属、零件
    农业、水产、养殖
    矿产、石油、化工
    珠宝首饰、化妆品
    医药医器、保健品
    包装、印刷、造纸
    书画、艺术、收藏
    通用、其他制造业
    房地产、建筑装修
    餐饮、咖啡、茶楼
    咨询、策划、翻译
    金融、证券、典当
    健身、运动俱乐部
    家政、保洁、搬家
    医院、诊所、保健
    旅游宾馆、农家乐
    美容、休闲、养生
    婚庆、摄影、影楼
    仓储、物流、租车
    维修、保养、回收
    广告、会展、设计
    文化、教育、培训
    政府、协会、机构
    其他行业网站
  • 小程序源码
  • 游戏源码
  • 微信公众平台源码
  • 营销软件
  • 云虚拟主机
    全能型云虚拟主机
    海外免备案主机
    高防云享主机
    专业型云虚拟机
    Linux专业型云虚拟机
    .NET专业型云虚拟机
    JSP专业型云虚拟机
    百度云虚拟机(BCH)
  • 旅游系统
    旅游网站模板
    组合套餐
    产品应用
    营销应用
    内容应用
    供应分销应用
    插件接口应用
    SAAS版本应用
  • Cisco设备
    交换机
    路由器
    无线
    网络管理
    接口和模块
    光网络
  • IBM设备
    服务器
  • 华为设备
    交换机
    路由器
    WLAN
    存储
  • 智能设备

18093723998
搜索

php网站制作如何生成二维码

 二维码
发表时间:2021-01-07 17:22
第一种方法找网上的api接口
比如:联图

品味二维码:


草料:


其他都可以在网上搜到很多,但是这些api可能过一段时间会失效,以前就遇到过这样的情况,这就接口不可控性太大,所以我们要介绍第二种方法
二、用插件生成二维码
这里使用的是PHPQRcode 新建函数(这里用的thinkPhp框架)
/**
* 生成二维码
* @param $save_path 二维码保存路径
* @param string $qr_data 手机扫描后要跳转的网址
* @param string $qr_level 默认纠错比例 分为L、M、Q、H四个等级,H代表最高纠错能力
* @param int $qr_size 二维码图大小,1-10可选,数字越大图片尺寸越大
* @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 '';
  //设置生成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 . '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 {
      //默认生成
      QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
  }
  if (file_exists($PNG_TEMP_DIR . basename($filename))) {
      return basename($filename);
  } else {
      return FALSE;
  }
}

函数调用
$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合并之后的地址
关注我们
关于我们
天隆网络科技有限责任公司励志为顾客提供出更好的网站建设、二次开发、管理、维护系统等。本团队为此收录了大量的技术和相关人员。公司积极鼓励客户前来本站交流互动,积极鼓励为本站提出创新的好点子 本团队专注于企业的网站设计制作,为刚接触网站开发和运营的客户提供更好的帮助到你的解决方案。
服务范围
联系我们
QQ:1602299552
邮箱:dhtlit@qq.com
电话:18093723998
付款方式:现金,刷卡,支付宝,微信