• 技术文章 >后端开发 >PHP问题

    php怎么发送短信

    青灯夜游青灯夜游2022-10-21 17:37:29原创321

    发送方法:1、实名认证并开通短信API接口服务,获取API请求KEY;2、申请短信模板并等待审核通过;3、调用API接口,通过“function juheHttpRequest($url,$params=false,$ispost=0){...}”方式发起网络请求,处理数据并返回结果;4、用“$response=juheHttpRequest(...);”接受内容并输出。

    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

    基于PHP的短信API接口调用示例

    前期准备

    特别说明

    接口备注

    参数说明

    参数名必填说明
    mobiletrue手机号
    tpl_idtrue模板id
    keytrue申请的请求key
    tpl_valuefalse模板变量,根据模板中变量决定,可为空

    全部代码

    <?php
    // 请求的接口URL
    $apiUrl = 'http://v.juhe.cn/sms/send?';
    // 请求参数
    $params = [
        // 模板id
        'tpl_id' => '模板id',
        // 您申请的接口调用Key
        'key' => '您申请的接口调用Key',
        //发送的手机号
        'mobile' => '发送的手机号',
        //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
        'tpl_value' => urlencode('#total#=1000&#used#=100&#balance#=900'),
    ];
    $paramsString = http_build_query($params);
    
    // 发起接口网络请求
    $response = null;
    try {
        $response = juheHttpRequest($apiUrl, $paramsString, 1);
    } catch (Exception $e) {
        var_dump($e);
        //此处根据自己的需求进行自身的异常处理
    }
    if (!$response) {
        echo "请求异常" . PHP_EOL;
    }
    $result = json_decode($response, true);
    if (!$result) {
        echo "请求异常" . PHP_EOL;
    }
    $errorCode = $result['error_code'];
    if ($errorCode === 0) {
        $data = $result['result'];
    
        echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
        echo "请求消耗次数:{$data["fee"]}" . PHP_EOL;
    } else {
        // 请求异常
        echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
    }
    
    /**
     * 发起网络请求函数
     * @param string $url 请求的URL
     * @param bool $params 请求的参数内容
     * @param int $ispost 是否POST请求
     * @return bool|string 返回内容
     */
    function juheHttpRequest($url, $params = false, $ispost = 0)
    {
        $httpInfo = [];
        $ch = curl_init();
    
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
        curl_setopt($ch, CURLOPT_TIMEOUT, 12);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if ($ispost) {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
            curl_setopt($ch, CURLOPT_URL, $url);
        } else {
            if ($params) {
                curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
            } else {
                curl_setopt($ch, CURLOPT_URL, $url);
            }
        }
        $response = curl_exec($ch);
        if ($response === FALSE) {
            // echo "cURL Error: ".curl_error($ch);
            return false;
        }
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
        curl_close($ch);
        return $response;
    }

    推荐学习:《PHP视频教程

    以上就是php怎么发送短信的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php怎么查询老黄历 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php的curl无法开启怎么办• php函数怎么实现加减乘除• php pdo 错误处理怎么设置• php svn 不是内部命令怎么办• php 怎么调用不同php文件路径
    1/1

    PHP中文网