php生成带自定义logo和带二维码跳转自定义地址的…
2019-04-25 06:56:47来源:博客园 阅读 ()
index.php
<?php
header('Content-type:text/html;charset=UTF-8');
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型f
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
include 'phpqrcode.php';
//$uid = "100001";
$uid = $_POST["uid"];
$qrcodeurl = 'qrcode'.$uid.'.png';
$code = $uid.".png";
//二维码内容
$url = "http://域名/tp3.2/home/Wx2/code?uid=".$uid;//二维码内容
//容错级别
$errorCorrectionLevel = 'L';
//生成图片大小
$matrixPointSize = 4;
QRcode::png($url, $qrcodeurl, $errorCorrectionLevel, $matrixPointSize, 2);
//code【二维码+头像存放地址】、header【头像存放地址】、qrcode【二维码存放地址】
//准备好的logo图片,本人放在了根目录下
//头像地址[读数据库里面的头像具体到服务器的头像地址save_url]
//$logo = 'http://域名/tp3.2/Public/upload/header/header2.png';
require_once('file1.php');
$logo = func1($uid);
//已经生成的原始二维码图,也在根目录下
$qrcode = $qrcodeurl;
//logo图片存在
if ($logo !== FALSE) {
$qrcode = imagecreatefromstring(file_get_contents($qrcode));
$logo = imagecreatefromstring(file_get_contents($logo));
if (imageistruecolor($logo))
{
imagetruecolortopalette($logo, false, 65535);//添加这行代码来解决颜色失真问题
}
$qrcode_width = imagesx($qrcode); //二维码图片宽度
$qrcode_height = imagesy($qrcode); //二维码图片高度
$logo_width = imagesx($logo); //logo图片宽度
$logo_height = imagesy($logo); //logo图片高度
$logo_qr_width = $qrcode_width / 5;
$scale = $logo_width / $logo_qr_width;
$logo_qr_height = $logo_height / $scale;
$from_width = ($qrcode_width - $logo_qr_width) / 2;
//重新组合图片并调整大小
imagecopyresampled($qrcode, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
$logo_qr_height, $logo_width, $logo_height);
}
//输出图片
imagepng($qrcode, $code);//保存合成图片,命名logqr.png放在该地址中
imagedestroy($qrcode);
imagedestroy($logo);
if(file_exists($qrcodeurl)){ //存在二维码图片
unlink($qrcodeurl);
//echo '输出code3下面的图片为66存在二维码图片就删除222:'.'<img src="'.$code.'" >';
$showcode = "http://域名/code4/".$code;
$json = json_encode($showcode,JSON_UNESCAPED_UNICODE);
$json = str_replace("\\/","/",$json);//以免url地址被反编译
echo $json;
}
else { //不存在二维码图片
//echo '输出code3下面的图片为66不存在二维码图片就不管222:'.'<img src="'.$code.'" >';
$showcode = "http://域名/code4/".$code;
$json = json_encode($showcode,JSON_UNESCAPED_UNICODE);
$json = str_replace("\\/","/",$json);//以免url地址被反编译
echo $json;
}
//echo '输出的图片为66:'.'<img src="'.$code.'" >';
?>
file.php
<?php
function func1($uid)
{
$servername = 'IP';
$username = '用户名';
$password = '密码';
$dbname = '数据库名称';
$port = '端口';
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname,$port);
// Check connection
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
//$uid = "100001";
$sql = "SELECT header.save_url FROM header where uid='$uid'";
$result = $conn->query($sql);
$arr = mysqli_fetch_row($result);
$save_url = $arr[0];
$conn->close();
return $save_url;
}
原文链接:https://www.cnblogs.com/xieqijiang/p/10768099.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:PHP全栈学习笔记8
下一篇:php一致性hash算法的应用
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash