PHP发短信实现方法

【摘要】 1要拼接接收的手机号和短信public function sendcode()    {  &n......

1要拼接接收的手机号和短信

public function sendcode()    {        $parpm = input();        $valist = $this->validate($parpm, [            'phone' => 'require|regex:1[3-9]\d{9}'        ]);        if ($valist !== true) {            $res = [                'code' => 400,                'msg' => $valist            ];            return Json($res);            die;        }        $timer = cache('register_time_' . $parpm['phone']);        if (time() - $timer < 60) {            $rs = [                'code' => '500',                'msg' => '发送太过频繁'            ];            echo json_encode($rs);            die;        }        $co = mt_rand(1000, 9999);        $code = '%23code%23%3d' . $co;        //发送短信验证//          $resule=sendmsg($parpm['phone'],$code);        $resule = true;        if ($resule === true) {            cache('register_code_' . $parpm['phone'], $co, 180);            cache('register_time_' . $parpm['phone'], time(), 180);            $re = [                'code' => 200,                'msg' => '短信发送成功',                'data' => "$code"            ];            echo json_encode($re);            die;        } else {            $re = [                'code' => 400,                'msg' => $resule            ];            echo json_encode($re);            die;        }    }

2拼接要发送短信的要求

if(!function_exists('sendmsg')){     function sendmsg($phone,$code){         $gateway=config('msg.gateway');         $appkey=config('msg.appkey');         $tpl_id=config('msg.tpl_id');         $url=$gateway.'?mobile='.$phone.'&tpl_id='.$tpl_id.'&tpl_value='.$code.'&key='.$appkey;         $res=curl_require($url,false,[],false);         if(!$res){            return '请求失败';         }         $arr=json_decode($res,true);         if(isset($arr['code'])&&$arr['code']==10000){              return true;         }else{             return false;         }     }}

3向第三方请求

if(!function_exists('curl_require')){      function curl_require($url,$post=true,$parpm=[],$https=false){          $ch=curl_init($url);          if($post){                curl_setopt($ch,CURLOPT_PORT,true);                curl_setopt($ch,CURLOPT_POSTFIELDS,$parpm);          }          if($https){               curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);          }          curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);          $res=curl_exec($ch);          curl_close($ch);          return $res;      }}

下面是aliyun的发信deom

// 代码节选,详见dysms_php.zip\aliyun-dysms-php-sdk\api_demo/SmsDemo.php...class SmsDemo{    ... * 短信服务API产品的DEMO程序,工程中包含了一个SmsDemo类,直接通过 * 执行此文件即可体验短信服务产品API功能(只需要将AK替换成开通了云通信-短信服务产品功能的AK即可) * 备注:Demo工程编码采用UTF-8 *//**     * 发送短信     * @return stdClass     */    public static function sendSms() {        // 初始化SendSmsRequest实例用于设置发送短信的参数        $request = new SendSmsRequest();        // 必填,设置短信接收号码        $request->setPhoneNumbers("12345678901");        // 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign        $request->setSignName("短信签名");        // 必填,设置模板CODE,应严格按"模板CODE"填写,(如果发送国际/港澳台消息时,请使用国际/港澳台短信模版) 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template        $request->setTemplateCode("SMS_0000001");        // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项        $request->setTemplateParam(json_encode(Array(  // 短信模板中字段的值            "code"=>"12345",            "product"=>"dsd"        )));        // 可选,设置流水号        $request->setOutId("yourOutId");        // 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)        $request->setSmsUpExtendCode("1234567");        // 发起访问请求        $acsResponse = static::getAcsClient()->getAcsResponse($request);        return $acsResponse;    }// 调用示例:set_time_limit(0);header('Content-Type: text/plain; charset=utf-8');$response = SmsDemo::sendSms();echo "发送短信(sendSms)接口返回的结果:\n";print_r($response);

完整版deom下载:https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.4.2.796351cdoeTnoI


本文标签: PHP教程 PHP实例
版权声明:《 PHP发短信实现方法 》为作者 思源哥哥原创文章,转载请注明原文地址!
免责声明:思源资源网提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件(y@isiyuan.net)与我们联系处理。
分享到:
打赏
评论 (0)