Thinkphp中没有二维码相关的生成库,百度有不少工具和库 这里就实例一下通过think3.2搭配phpqrcode来完成生成二维码的功能。

至于phpQrcode库文件 百度很容易找到这里也给大家放个链接

下载地址:https://sourceforge.net/projects/phpqrcode/files/latest/download?source=typ_redirect

放置到Thinkphp框架的类文件下

在“ThinkPHP\Library\Vendor\”下新建目录phpqrcode,将压缩包内容解压到该文件夹下。

这里就简单介绍下使用Index控制器。

在IndexController控制器下添加如下方法:

public function qrcode($url="www.baidu.com",$level=3,$size=4)
{
Vendor('phpqrcode.phpqrcode');
$errorCorrectionLevel =intval($level) ;//容错级别也就是误差
$matrixPointSize = intval($size);//生成二维码图片大小
//生成二维码图片
$object = new \QRcode();
$object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
       // 使用 -> 或 :: 都可以              
       //$object::png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
}
这样直接访问你的地址路径 就可以看到二维码。
但是这样二维码 只是生成了 如果想效果更好 比如说 带logo 或者自定义等等......
这里再教大家 使用phpqrcode 实现代logo的二维码 先调用phpqrcode生成一张二维码,再使用PHP的image相关函数将logo图片添加到生成的二维码图片上。
这里我直接放置在项目根目录下了 具体的位置小伙伴们自己定 。

public function index($url='http://www.baidu.com',$level=3,$size=20){
Vendor('phpqrcode.phpqrcode');//引入PHPQrcode
$Level =intval($level) ;//容错级别
$matrixPointSize = intval($size);//生成图片大小
//生成二维码图片
//echo $_SERVER['REQUEST_URI'];
$url1 = "http://baidu.com";
$object = new \QRcode();
$time = time();
$object::png($url1, $time.'.png', $Level, $matrixPointSize, 2);
$logo = 'logo.png';//准备好想要放置的logo图片
$QR = $time.'.png';
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图片宽度
$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);
} //输出图片
imagepng($QR, $time.'hc.png');

echo '<img src='.__ROOT__.'/'.$time.'hc.png width="100px" height="100px">';
$img =__ROOT__.'/'.$time.'hc.png';

sleep(10);//10秒后删除
unlink($img);生成删除这个二维码
}

到此两种二维码的生成以经结束 大家自己试验一下吧!

最新文章

  1. 【.net深呼吸】动态类型(娱乐篇)
  2. thinkphp3.2.3版本文件目录及作用
  3. 使用js实现点击按钮下载文件
  4. JDBC链接oracle已经mysql的测试
  5. mysql主从复制问题之主从两端binlog日志不同步解决方案
  6. csharp通过dll调用opencv函数,图片作为参数
  7. hbase(ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet)
  8. jquery-ui autocomplete 自动完成功能
  9. erlang集群IP及port管理
  10. 单词接龙(dragon)
  11. StringBuffer类的构造方法
  12. JAVA多线程---ThreadLocal&lt;E&gt;
  13. 自己动手实现mvc框架
  14. js 去掉数组中重复值,不重复的值保留
  15. Django之admin的使用和源码剖析
  16. docker 容器的启动方式
  17. SQL SERVER2000将多行查询结果拼接到一行数据及函数的创建
  18. 等价路由在路由器和CE交换机上默认的行为是不同的,路由器总是走第一个下一跳,CE交换机是逐包。
  19. 多线程深入:synchronized(转,有删减)
  20. SQL Server-聚焦深入理解死锁以及避免死锁建议(转载)

热门文章

  1. J20170524-hm
  2. Ruby&#160;Encoding类
  3. bzoj 1858: [Scoi2010]序列操作【线段树】
  4. 环境变量解释以及在Linux下的环境变量设置
  5. LightOj 1074 Extended Traffic (spfa+负权环)
  6. QT5每日一学(五)QT布局管理器
  7. 逆序数 UVALive 6508 Permutation Graphs
  8. Android Dialogs(4)Dialog事件处理
  9. MySQL+PHP配置 Windows系统IIS版
  10. window.form增删改查