post请求生成小程序二维码

本文阅读 1 分钟
首页 PHP笔记 正文
  1. /**生成小程序二维码**/
  2. public function actionGetWxcode()
  3. {
  4. /*获取参数*/
  5. $path = Yii::$app->request->get('path');
  6. $width = Yii::$app->request->get('width');
  7. /*获取access_token*/
  8. $access_token = $this->getToken();
  9. /*拼接地址*/
  10. $url = "https://api.weixin.qq.com/wxa/getwxacode?access_token=" . $access_token;
  11. /*请求参数*/
  12. $post_data = [
  13. 'path' => $path,
  14. 'width' => $width,
  15. ];
  16. $post_data = json_encode($post_data);
  17. $data = $this->send_post($url, $post_data);
  18. $data = 'image/png;base64,' . base64_encode($data);
  19. $imageName = rand(100000, 999999) . '.png';
  20. if (strstr($data, ",")) {
  21. $image = explode(',', $data);
  22. $image = $image[1];
  23. }
  24. $dir = "uploads/img/" . date("Y-m-d", time());
  25. if (!is_dir($dir)) { //判断目录是否存在 不存在就创建
  26. mkdir($dir, 0777, true);
  27. $re = [
  28. 'data' => null,
  29. "code" => 200,
  30. "msg" => "创建目录失败",
  31. ];
  32. return json_encode($re, JSON_UNESCAPED_UNICODE);
  33. }
  34. $imageSrc = $dir . "/" . $imageName; //图片名字
  35. $r = file_put_contents($imageSrc, base64_decode($image));//返回的是字节数
  36. if (!$r) {
  37. $re = [
  38. 'data' => null,
  39. "code" => 200,
  40. "msg" => "图片生成失败",
  41. ];
  42. return json_encode($re, JSON_UNESCAPED_UNICODE);
  43. } else {
  44. $re = [
  45. 'code' => 100,
  46. 'msg' => '图片生成成功',
  47. 'path' => 'https://' . $_SERVER['HTTP_HOST'] . "/" . $imageSrc
  48. ];
  49. return json_encode($re, JSON_UNESCAPED_UNICODE);
  50. }
  51. }
  52. /**
  53. * 消息推送http
  54. * @param $url
  55. * @param $post_data
  56. * @return bool|string
  57. */
  58. protected function send_post($url, $post_data)
  59. {
  60. $options = array(
  61. 'http' => array(
  62. 'method' => 'POST',
  63. 'header' => 'Content-type:application/json',
  64. //header 需要设置为 JSON
  65. 'content' => $post_data,
  66. 'timeout' => 60
  67. //超时时间
  68. )
  69. );
  70. $context = stream_context_create($options);
  71. $result = file_get_contents($url, false, $context);
  72. return $result;
  73. }
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

PHP 统计字符重复次数和字符
« 上一篇 03-21
PHP获取数组最后一个元素的键和值
下一篇 » 03-29

发表评论

惪特博客
  • 文章总数:
    18501 篇
  • 评论总数:
    53360 条
  • 标签总数:
    8881 个
  • 总浏览量:
    23363075 次
  • 最后更新:
    6天前

最多点赞

随便看看

标签TAG