企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
//使用聚合数据短信接口 https://www.juhe.cn/docs/api/id/54 示例代码: ~~~ public function getCode(){ //获取前端发来的手机号 $phone = input('get.phone'); //生成验证码内容(生成默认4位数字,看结尾) $code = $this->createSMSCode(); //调用聚合数据的代码函数 $res = $this->duanxinjiekou($phone, $code); session('code',$code); } //默认与juhecurl()函数放在一个文件,被我封装成方法 //执行短信发送的另一半代码块(聚合数据提供,无需修改) //只需填入$smsConf数组对应的几个必须参数即可完成使用 public function duanxinjiekou($phone, $code){ header('content-type:text/html;charset=utf-8'); $sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL $smsConf = array( 'key' => '0d2dc22588e695aa9c197035a21af7ba', //您申请的APPKEY 'mobile' => $phone, //接受短信的用户手机号码 'tpl_id' => '43908', //您申请的短信模板ID,根据实际情况修改 'tpl_value' =>'#code#='.$code.'&#company#=由客' //您设置的模板变量,根据实际情况修改 ); $content = juhecurl($sendUrl,$smsConf,1); //请求发送短信 if($content){ $result = json_decode($content,true); $error_code = $result['error_code']; if($error_code == 0){ //状态为0,说明短信发送成功 echo "短信发送成功,短信ID:".$result['result']['sid']; }else{ //状态非0,说明失败 $msg = $result['reason']; echo "短信发送失败(".$error_code."):".$msg; } }else{ //返回内容异常,以下可根据业务逻辑自行修改 echo "请求发送短信失败"; } } //聚合验证的函数,无需修改,放在类外或者公共文件 /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ function juhecurl($url,$params=false,$ispost=0){ $httpInfo = array(); $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 30); 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 function createSMSCode($length = 6) { $min = pow(10 , ($length - 1)); $max = pow(10, $length) - 1; return rand($min, $max); } ~~~