北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

php 发送微信订阅消息

<?php

namespace app\api\service;

use app\api\exception\ApiException;
use app\api\traits\Singleton;
use think\Cache;
use think\Log;

/**
 * 微信发送消息
 * Class ExpressService
 * @package app\api\service
 */
class WxMessageService extends BaseService
{
    private $appid = 'xxxxxx'; //填入服务号AppID
    private $appsecret = 'xxxxxxxxxxxxxxx'; //填入服务号AppSecret
    /**
     * @param string $openid 微信用户的openid
     * @param string $template_id 消息的模板id
     * @param array $data 需要的参数,为数组,类型为[key=>value],key为模板中的参数,value为参数的值
     */
    public function sendMessage($openid, $template_id, $data, $page_params=null)
    {
        $access_token_info = $this->getAccessTokenNoCode();
        $access_token = $access_token_info['access_token'];

        //要发送给微信接口的数据
        $send_data = [
            "touser" => $openid,
            "template_id" => $template_id,
        ];

        $demo_data = [];
        foreach($data as $k=>$v){
            $demo_data[$k] = [
                "value" => $v
            ];
        }
        $send_data['data'] = $demo_data;

        if(!empty($page_params)){
            $send_data['page'] = $page_params;
        }

        //print_r($send_data);die;
        $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$access_token;
        $result = $this->curl_post($url,$send_data);//dump($result);exit;
        $result = json_decode($result, true);
        //print_r($result);
        if($result['errcode']==0){
            return true;
        }else{
            return false;
        }
    }



    private function getAccessTokenNoCode()
    {
        $wxAppID = $this->appid;
        $wxAppSecret = $this->appsecret;
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$wxAppID."&secret=".$wxAppSecret;
        $result = $this -> http_request($url);
        $result = json_decode($result, true);
        return $result;
    }

    private function http_request($url,$data=null){
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
        if(!empty($data)){
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

    private function curl_post($url, array $params = array())
    {
        $data_string = json_encode($params);//dump($data_string);exit;
        $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
header("content-type:text/html;charset=utf-8");//

PHP函数大全:从Array到Zip,你需要了解的所有函数

PHP函数大全:从Array到Zip,你需要了解的所有函数

在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的函数,包括Array、Calendar、cURL、Date、Directory、Error、Filesystem、Filter、FTP、HTTP、LibXML、Mail、Math、Misc、MySQLi、SimpleXML、String、XML Parser和Zip函数。

DEDECMS织梦系统接入熊掌号推送api,完整详细教程

熊掌号的API提交分为新增内容接口和历史内容接口两个接口。通过新增内容接口,提交站内 当天新产生内容的链接。新增内容享受24小时内抓取校验、快速展现优待。


第一步:

根据熊掌号要求完成校验页面,官方文档很详细,照着弄就行了

第二步:

开始后台改造

1.进入后台文件夹dede(自己实际的文件夹),然后进入templets目录,打开body_index.htm

PHP开发APP端微信支付

微信支付很简单,你可以参考微信支付开发文档,一定要仔细阅读开发文档,可以让你少踩点坑;准备工作完成后就是配置参数,调用统一下单接口,支付后异步回调三步。

微信开发文档:
pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1

APP支付流程

从上面的图片中,可以看出来,需要注意的流程是一共是3部分;

第一部分:调用下单API,返回预支付订单,签名之后再返回信息

如何用免费服务器做微信JS开发

第一步:获取微信--微信后台开发者中心-配置中心

AppID(应用ID):wxd91694a715364b1a

AppSecret(应用密钥):e4****************************cb

第二步:申请新浪SAE免费开发服务器

首先,打开SAE

第二步,进入后使用新浪帐号登录;然后点击右上角的“我的应用”-“应用列表”,点击创建应用:

PHP 实现一个简单的爬虫示例

  • 抓取网页的内容:
<?php

$url = 'https://www.example.com';

// 初始化 cURL
$ch = curl_init();

// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// 执行 cURL
$output = curl_exec($ch);

// 关闭 cURL
curl_close($ch);

// 输出抓取到的内容
$html = $output;

?>

python微信文章爬虫代码(爬取微信公众号阅读量)

本文将介绍如何使用PHP爬取微信文章的阅读数量。通过以下7个步骤,您将学会使用PHP技术实现这一功能。

1.准备工作:

在开始之前,您需要安装PHP环境,并熟悉基本的PHP编程知识。另外,您还需要了解一些基本的网络爬虫原理以及对微信公众号平台的了解。

2.获取文章链接:

首先,您需要从微信公众号平台获取要爬取的文章链接。可以通过登录公众号后台或者使用其他方式获取到文章链接。

3.发送HTTP请求:

使用PHP的curl库发送HTTP请求,将获取到的文章链接作为参数传入。通过模拟浏览器访问的方式,我们可以获取到完整的页面内容。

go os/exec 简明教程

Go标准库提供了便利的方法,可以很容易地运行外部命令,一般我们会使用os/exec包下的方法实现执行外部命令以及和外部命令交互。

Three主题添加百度实时推送功能

最近在很多博客上都看到有关于WordPress集成百度实时推送的功能,虽然不知道具体效果如何,但是我想增加这个功能应该总不会是坏事吧,所以就给自己的站点添加试试,以便下次更新Three主题的时候集成进去。

具体操作步骤如下:

1、获取token

我们只需要登录百度站长平台》网页抓取》点击【链接提交】,在右边的页面中的“链接提交”中选择需要添加百度实时推送功能的站点,然后就可以看到这个站点的token值了。

<< 1 2 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言