热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ThinkPHP3.2.3扩展之二维码,thinkphp3.2.3扩展

php教程|php手册thinkphpphp教程-php手册ThinkPHP3.2.3扩展之二维码,thinkphp3.2.3扩展漫画网站源码漫画程序帝国,ubuntu游戏安装方法

php教程|php手册ThinkPHP3.2.3扩展之二维码,thinkphp3.2.3扩展
thinkphp
php教程-php手册
ThinkPHP3.2.3扩展之二维码,thinkphp3.2.3扩展
漫画网站源码漫画程序帝国,ubuntu游戏安装方法,tomcat9的启动日志,网络爬虫排行策略,PHP乘法口诀表实验报告,seo动画页lzw
先安照路径放好如图。
安卓时时彩源码下载,ubuntu中更新qt,tomcat连接池开启预编译,爬虫馆赚钱么,百度图表插件ajax对接php,波SEO排名lzw
简单使用无logo:
网站php源码,开发环境和开发方式vscode,ubuntu 硬盘 命令,tomcat修改访问地址命令,sqlite支持blob,网页设计要学多久,香港服务器便宜,织梦自动生成插件下载,怎么学前端框架,鱼鳞病爬虫,php数组字符串转数组,广州seo优化排名,springboot一键配置,上传下载网站源码,进入网页悬浮广告代码,织梦模板编辑,网站后台拿shell,放大页面图片欣赏,基于java的学生学籍管理系统,app程序模板lzw

public function qrcode(){ Vendor('phpqrcode.phpqrcode'); //生成二维码图片 $object = new \QRcode(); $url='http://www.shouce.ren/';//网址或者是文本内容 $level=3; $size=4; $errorCorrectiOnLevel=intval($level) ;//容错级别 $matrixPointSize = intval($size);//生成图片大小 $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); }

高级使用带logo:

public function qrcode(){ Vendor('phpqrcode.phpqrcode'); //生成二维码图片 $object = new \QRcode(); $qrcode_path=''; $file_tmp_name=''; $errors=array(); if(!empty($_POST)){ $cOntent= trim($_POST['content']); //二维码内容 $cOntentSize=$this->getStringLength($content); if($contentSize>150){$errors[]='字数过长,不能多于150个字符!'; } if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp_name'])){if($_FILES['upimage']['size']>512000){ $errors[]="你上传的文件过大,最大不能超过500K。";}$file_tmp_name=$_FILES['upimage']['tmp_name'];$fileext = array("image/pjpeg","image/jpeg","image/gif","image/x-png","image/png");if(!in_array($_FILES['upimage']['type'],$fileext)){ $errors[]="你上传的文件格式不正确,仅支持 png, jpg, gif格式。";} } $tpgs=$_POST['tpgs'];//图片格式 $qrcode_bas_path='upload/qrcode/'; if(!is_dir($qrcode_bas_path)){mkdir($qrcode_bas_path, 0777, true); } $uniqid_rand=date("Ymdhis").uniqid(). rand(1,1000); $qrcode_path=$qrcode_bas_path.$uniqid_rand. "_1.".$tpgs;//原始图片路径 $qrcode_path_new=$qrcode_bas_path.$uniqid_rand."_2.".$tpgs;//二维码图片路径 if(Helper::getOS()=='Linux'){$mv = move_uploaded_file($file_tmp_name, $qrcode_path); }else{//解决windows下中文文件名乱码的问题$save_path = Helper::safeEncoding($qrcode_path,'GB2312');if(!$save_path){ $errors[]='上传失败,请重试!';}$mv = move_uploaded_file($file_tmp_name, $qrcode_path); } if(empty($errors)){$errorCorrectiOnLevel= $_POST['errorCorrectionLevel'];//容错级别$matrixPointSize = $_POST['matrixPointSize'];//生成图片大小$matrixMarginSize = $_POST['matrixMarginSize'];//边距大小//生成二维码图片$object::png($content,$qrcode_path_new, $errorCorrectionLevel, $matrixPointSize, $matrixMarginSize);$QR = $qrcode_path_new;//已经生成的原始二维码图$logo = $qrcode_path;//准备好的logo图片if (file_exists($logo)) { $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图片宽度 $logo_height = imagesy($logo);//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); //输出图片 //header("Content-type: image/png"); imagepng($QR,$qrcode_path); imagedestroy($QR);}else{ $qrcode_path=$qrcode_path_new;} }else{$qrcode_path=''; } } $data=array('data'=>array('errors'=>$errors,'qrcode_path'=>$qrcode_path)); $this->assign('data',$data); $this->display();

演示地址:http://www.shouce.ren/tool/qrcode

用到助手类Helper地址:http://www.thinkphp.cn/topic/34875.html


推荐阅读
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • PHP 使用 Cookie 进行访问授权的方法
    本文介绍了如何使用 PHP 和 Cookie 实现访问授权,包括表单验证、数据库查询和会话管理等关键步骤。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 本文详细介绍了Go语言中的数组,包括其基本概念、声明方式、初始化方法以及常见操作。 ... [详细]
  • Bootstrap 插件使用指南
    本文详细介绍了如何在 Web 前端开发中使用 Bootstrap 插件,包括自动触发插件的方法、插件的引用方式以及具体的实例。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Java设计模式详解:解释器模式的应用与实现
    本文详细介绍了Java设计模式中的解释器模式,包括其定义、应用场景、优缺点以及具体的实现示例。通过音乐解释器的例子,帮助读者更好地理解和应用这一模式。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 本文详细介绍了 Oracle 数据库的自动备份机制及其安装步骤。通过具体示例,解释了系统变更号(SCN)和块结构在备份过程中的作用,以及热备份恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
author-avatar
张晓熊他爸_166
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有