图片二维码生成

<?php
//二进制转图片image/pngfunction burryToBase64($contents, $mime){$base64   = base64_encode($contents);return ('data:' . $mime . ';base64,' . $base64);}function getAccessToken(){$grant_type = 'client_credential';$appid = 'wx56dde2c282ad225b';$secret = 'ff76cf2da3af30fb6fcb421016ffd67e';$url='https://api.weixin.qq.com/cgi-bin/token?grant_type='.$grant_type.'&appid='.$appid.'&secret='.$secret;$accessToken = curlGet($url);return $accessToken['access_token'];}function curlGet($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$output = curl_exec($ch);curl_close($ch);return json_decode($output,true);}header("Content-Type: text/html; charset=utf-8");function index($code){  //code为参数// echo $url;$access_token = getAccessToken();if(!empty($access_token)){$url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$access_token;$data['path'] =  "/pages/index/index?url=https://dl.99tv.top/".$code;$data['scene'] = 'type=qrcode';//(string类型,必须是数字)$data['width'] = 430;$result = curlPost($url,$data,'POST');$image = burryToBase64($result,'image/png');$filename = md5($code);  //文件名$ret = file_put_contents('./uploads/'.$filename.'.png', $result, true);$path='./uploads/'.$filename.'.png';return $image;}else{echo '获取asstoken失败';}}function getJson($url,$data=array(),$method='GET'){$ch = curl_init();//1.初始化  curl_setopt($ch, CURLOPT_URL, $url);//2.请求地址  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式  //4.参数如下  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if($method=="POST"){//5.post方式的时候添加数据  $data = json_encode($data);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  }  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);return json_decode($output, true);}function curlPost($url,$data,$method){$ch = curl_init();   //1.初始化  curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式  //4.参数如下  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容  curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');  if($method=="POST"){//5.post方式的时候添加数据  $data = json_encode($data);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  }  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  $tmpInfo = curl_exec($ch);//6.执行  if (curl_errno($ch)) {//7.如果出错  return curl_error($ch);  }  curl_close($ch);//8.关闭  return $tmpInfo;  }  $result=index('zt');echo "<img src='$result'>"
?>


链接跳转

前端

<a href="<?php echo jump($value['tinyurl']);?>" style="color:white;font-size:20px;">打开小程序</a>

调用代码

<?php
header('Content-type: text/html; charset=utf-8');
//引用加密文件
//入口文件
//jump($id);/*** 跳转小程序*/function curlGet($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$output = curl_exec($ch);curl_close($ch);return json_decode($output,true);}function getAccessToken(){$grant_type = 'client_credential';$appid = 'wx56dde2c282ad225b';$secret = 'ff76cf2da3af30fb6fcb421016ffd67e';$url='https://api.weixin.qq.com/cgi-bin/token?grant_type='.$grant_type.'&appid='.$appid.'&secret='.$secret;$accessToken = curlGet($url);return $accessToken['access_token'];}
function jump($id)
{$access_token = getAccessToken();$url = 'https://api.weixin.qq.com/wxa/generatescheme?access_token=' . $access_token . '';$jump_wxa = ['path'          => '/pages/index/index','query'         => "url=https://dl.99tv.top/$id",'env_version'   => 'trial'];$params = ['jump_wxa'      => (object)$jump_wxa,'expire_type'   => 0,'expire_time'   => time() + 1000];$res = curl_post($url, $params);$res = json_decode($res);//  var_dump($res);if ($res->errcode == 0) {return $res->openlink;// echo json_encode(['url' => $res->openlink, 'code' => 1]);}
}function curl_get($url){$header = array('Accept: application/json','isOpenSecret: 1');$curl = curl_init();//设置抓取的urlcurl_setopt($curl, CURLOPT_URL, $url);//设置头文件的信息作为数据流输出curl_setopt($curl, CURLOPT_HEADER, 0);// 超时设置,以秒为单位curl_setopt($curl, CURLOPT_TIMEOUT, 1);// 超时设置,以毫秒为单位// curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);// 设置请求头curl_setopt($curl, CURLOPT_HTTPHEADER, $header);//设置获取的信息以文件流的形式返回,而不是直接输出。curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//执行命令$data = curl_exec($curl);// 显示错误信息if (curl_error($curl)) {print "Error: " . curl_error($curl);} else {// 打印返回的内容// print_r($data);return $data;curl_close($curl);}
}
/*** 获取accessToken*//*** @param string $url post请求地址* @param array $params* @return mixed*/
function curl_post($url, array $params = array())
{$data_string = json_encode($params);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));$data = curl_exec($ch);curl_close($ch);return ($data);
}

PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序相关推荐

  1. 微信小程序生成二维码带参海报

    微信小程序生成二维码带参海报 没错,就是用 canvas 来实现 文章目录 微信小程序生成二维码带参海报 获取屏幕分辨率比 生成二维码 获取网络图片并转为本地临时文件 绘制背景图片以及二维码 代码片段 ...

  2. 微信小程序扫二维码带参数问题

    1.在微信公众号平台上面配置扫描二维码之后所跳转的前端路径 2.在配置好的前端路径里面的onload会获取到q的参数,并且对获取到的参数进行转码,然后通过split分割"="号后面 ...

  3. (JAVA)获取支付宝二维码 带参数

    正文: 前端文档  后台文档 public Vo aliSmall() throws AdminException,AlipayApiException {SysUser user = shiroSe ...

  4. 微信小程序 扫描微信二维码 传递参数授权

    首先 先用微信小程序扫一扫 看二维码的参数是什么 然后 扫描二维码的参数是  scene=u_127 这个就是小程序二维码的参数 能够在 页面里拿到 扫描微信小程序授权的结果 可以进行编译 能够在on ...

  5. 【干货#007】标签机打印小程序参数二维码的方法

    缘起 微信小程序参数二维码是针对小程序特定页面,设定相应参数,用户扫描后可以进入相应页面的方法,具有多种用途. 目前,有多种方式可以生成小程序二维码图片,然后直接打印出来.但在使用标签机打印二维码时, ...

  6. 微信小程序生成二维码scene过长解决方法

    小程序二维码scene参数限定长度为32位字符,但是实际开发中可能有很多的参数需要传递,怎么办呢? 对于目前32位长度的限制,解决方案: 方案一.中间页 + 短参数新建一个中间空白跳转页面,每次生成的 ...

  7. Django 生成验证码或二维码 pillow模块

    一.安装PIL PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,API也非常简单易用.   PIL模块只支持到Python 2 ...

  8. QRCode 生成和下载二维码

    使用注意事项: 1.url必须带通信协议 2.生成二维码前必须先清空二维码,不然会重复生成二维码(文章最后) 1.引入插件QRCode QRCode.js 是一个用于生成二维码的 JavaScript ...

  9. 小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈

    小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈 一.概述 需要用到的生成二维码组件(可自行下载添加到小程序根目录utils里):https://github.com/demi52 ...

最新文章

  1. linux日志怎么进行转储,Linux logrotate命令用法详解:进行日志转储(轮替)
  2. java jdbc 链接pg_Java零基础教程
  3. 什么是 JSON ?
  4. 如何看创建媒体日期_每天约4万个网约车投诉,看AI如何接招_媒体_澎湃新闻
  5. ASP.NET Core 2.2 项目升级至 3.0 备忘录
  6. 云原生数据湖解决方案打破数据孤岛,大数据驱动互娱行业发展
  7. mysql集群_MySQL集群
  8. 服务器硬盘raid5扩容,超实用,物理服务器RAID扩容详解
  9. 相似基因(洛谷-P1140)
  10. STM8学习笔记---定时器 TIM4功能实现
  11. 《数学建模与数学实验》第5版 统计分析 习题9.7
  12. FreeImage使用
  13. chrome插件开发——option(选项页)的通信
  14. 算法课讨论 深究哈密顿图
  15. 将瀚高数据库表内数据导出Excel格式
  16. java存根_Java方法存根
  17. SDL —— SDL_ttf
  18. Mint20系统安装微信
  19. 如何重新设置苹果id密码_苹果手机ID密码忘了?别着急,这二种方法轻松帮你搞定!...
  20. padding的用途

热门文章

  1. 【Unity】Kinect屏幕显示环境背景及人体投影
  2. 如何将多个文件夹重命名
  3. 什么是重绘和重排? 如何去避免?
  4. 为什么现在我们很难打造一支跟中供铁军一样的销售队伍?
  5. iOS音频AAC视频H264编码 推流最佳方案
  6. 达梦数据库表新增字段速度测试
  7. 在win10上编译webRTC(问题篇)
  8. JAVA技术及应用(第二版)(赵锐,李卫华)学习总结
  9. 基于ZigBee的智能监控系统-上位机代码
  10. Python安装wheel文件