<?php
namespace Ruifi\App; class SmsL
{ public function smsIcode($moblie,$sms_code,$intl_code){
header("Content-Type:text/html;charset=utf-8");
$apikey = "";
$mobiles = "+".$intl_code.$moblie;
$text = "Shixi";
$smsArrL = array(
"apikey" => "$apikey",
"mobile" => "$mobiles",
"text" =>"$text"
);
$smsArrL_to = \Ruifi\Service\CommonService::gbk_to_utf8_arr($smsArrL); //编码转换
$apikey = $smsArrL_to['apikey'];
$mobilesm = $smsArrL_to['mobile'];
/* $mobiles = urlencode("$mobile");
$mobiles = urlencode("$mobiles");*/
//$text = $smsArrL_to['text']; $ch = curl_init();
/* 设置验证方式 */
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8',
'Content-Type:application/x-www-form-urlencoded', 'charset=utf-8'));
/* 设置返回结果为流 */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
/* 设置超时时间*/
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
/* 设置通信方式 */
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 发送短信
/* $data=array('text'=>$text,'apikey'=>$apikey,'mobile'=>$mobile);
$json_data = $this->send($ch,$data);
$array = json_decode($json_data,true); return $array;*/ // 发送模板短信
// 需要对value进行编码
$data = array('tpl_id' => '2009674', 'tpl_value' => ('#code#').
'='.urlencode("$sms_code"), 'apikey' => $apikey, 'mobile' => $mobilesm);
$json_data = $this->tpl_send($ch,$data);
$array = json_decode($json_data,true);
return $array; curl_close($ch);
} /************************************************************************************/ function send($ch,$data){
curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/sms/single_send.json');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
$error = curl_error($ch);
$this->checkErr($result,$error);
return $result;
}
function tpl_send($ch,$data){
curl_setopt ($ch, CURLOPT_URL,
'https://sms.yunpian.com/v2/sms/tpl_single_send.json');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
$error = curl_error($ch);
$this->checkErr($result,$error);
return $result;
}
function checkErr($result,$error) {
if($result === false)
{
echo 'Curl error: ' . $error;
}
else
{
//echo '操作完成没有任何错误';
}
} }

调用:

//传递手机号 验证码 和 国家区号
$SmssL = new \Ruifi\App\SmsL();
$Code = $SmssL->smsIcode("$mobile","$sms_code","$intl_code"); if ($Code['code'] == '0'){
$codeState = 'OK';
}

php 云片国外短信实例的更多相关文章

  1. asp.net C# 实现阿里大鱼和云片网短信接口类

    云片网短信通用类 public class YunpianSMS { public YunpianSMS() { } /// <summary> /// 服务器HTTP地址 /// < ...

  2. php 阿里云国内短信实例

    调用:先去阿里云申请短信服务 $smsArr = array( "accessKeyId" => "", // key "accessKeySe ...

  3. PhpSms 稳定可靠的php短信发送库

    可能是目前最聪明.优雅的PHP短信发送库了.从此不再为各种原因造成的个别短信发送失败而烦忧! phpsms的任务均衡调度功能由toplan/task-balancer提供. GitHub地址:http ...

  4. thinkphp实现短信验证注册

    前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现. 短信验证平台使用云片,短信验证码的生成使用thinkphp. 思路 1.用户输入手机号,请求获取短信验证码. 2.thinkphp生成 ...

  5. PHP短信发送服务 youe短信企业服务

    /** * 通用短信平台HTTP接口POST方式发送短信实例 * 返回字符串 * 一般情况下调用此方法 */ function postSendMessage($msgContents,$phoneL ...

  6. Android中实现短信发送的一种方式

    SendSmsActivity.java: package com.test.smsmangerdemo.sendsmsactivity; import android.support.v7.app. ...

  7. Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

    结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...

  8. 云片-语音验证码--短信验证码 - PHP接口

    ///////////////////////语音验证///////////////////////////// /**  * 发送短信(语音验证码)云片语音服务  * @param  $apikey ...

  9. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

随机推荐

  1. 判断List<E>内是否有重复对象

    主要用到Java 8的Stream类 long distinctedSize = list.stream().distinct().count(); boolean hasRepeat = list. ...

  2. 使用jsonpath解析多层嵌套的json响应信息

    Python自带的json库可以把请求转为字典格式, 但在多层嵌套的字典中取值往往要进行多次循环遍历才能取到相应的数据, 如: res_dict = { "code": 0, &q ...

  3. 如果对方网站反爬取,封IP了怎么办?

    放慢抓取熟速度,减小对目标网站造成的压力,但是这样会减少单位时间内的数据抓取量 使用代理IP(免费的可能不稳定,收费的可能不划算)

  4. Smali语法基础

    Smali是什么 Smali是Android虚拟机的反汇编语言. 我们都知道,Android代码一般是用java编写的,执行java程序一般需要用到java虚拟机,在Android平台上也不例外,但是 ...

  5. Ubuntu 14.04 indigo 安装 cartographer 1.0.0

    安装依赖(cmake 版本为2.8,我的是自带的)sudo apt-get updatesudo apt-get install -y g++ git google-mock libboost-all ...

  6. Myeclipse10 安装 破解 激活(含安装包,激活软件 免费)

    参考博客: https://www.cnblogs.com/gzhnan/articles/9536275.html 注意 安装完成之后一定不要点 Launch Myeclipse 下载地址: htt ...

  7. hive on tez 错误记录

    1.执行过程失败,报 Container killed on request. Exit code is 143 如下图: 分析:造成这种原因是由于总内存不多,而容器在jvm中占比过高,修改tez-s ...

  8. zabbix (三) 所需磁盘容量计算

    一.zabbix 磁盘容量大小 zabbix的数据库大小取决于NVPS(new values per second)大小,NVPS从总体上反应了处理速度,与监控项的数目,监控项的类型,取值间隔,His ...

  9. 什么是vue的全家桶

    vue.js有著名的全家桶系列,包含了vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成.

  10. MovingWallVelocity边界条件【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/59646-movingwallvelocity-bound ...