华为信息机虽然只提供了DLL和Java的接口,但是其它的语言还是可以调用,方法就是使用它的存储过程。下面是一个PHP调用的例子
<?php
class PHPSMS {
var $dbHost = "ip:1433";
var $dbName = "DB_CustomSMS";
var $dbUser = "sa";
var $dbPass = "";
var $name = "0005";
var $pass = "";
var $db;
function init() {
$this->db = &ADONewConnection('mssql');
$this->db->Connect($this->dbHost,$this->dbUser,$this->dbPass,$this->dbName) or die($db->ErrorMsg().'<br>');
}
function addSMtoSend($pDestAddr,$pSmContent) {
$pOrgAddr = '1068×××××'.$this->name;
$pSendTime = date("Y-m-d H:i:s");
$pNeedStateReport = 0;
$pServiceID = "EIES";
$pFeeType = "02" ;
$pFeeCode = "0";
$pSMType = 0;
$pMessageID = "0";
$pDestaddrType = 0;
$pCreatorID = $this->name;
$pSuccess = -1;
$stmt = $this->db->PrepareSP('addSMtoSend');
$this->db->InParameter($stmt,$pOrgAddr,'pOrgAddr');
$this->db->InParameter($stmt,$pDestAddr,'pDestAddr');
$this->db->InParameter($stmt,$pSmContent,'pSmContent');
$this->db->InParameter($stmt,$pSendTime,'pSendTime');
$this->db->InParameter($stmt,$pNeedStateReport,'pNeedStateReport');
$this->db->InParameter($stmt,$pServiceID,'pServiceID');
$this->db->InParameter($stmt,$pFeeType,'pFeeType');
$this->db->InParameter($stmt,$pFeeCode,'pFeeCode');
$this->db->InParameter($stmt,$pSMType,'pSMType');
$this->db->InParameter($stmt,$pMessageID,'pMessageID');
$this->db->InParameter($stmt,$pDestaddrType,'pDestaddrType');
$this->db->InParameter($stmt,$pCreatorID,'pCreatorID');
$this->db->OutParameter($stmt,$pSuccess,'pSuccess');
$this->db->Execute($stmt);
if($pSuccess>=0) return 1;
else return 0;
}
function fetchSMRequest(&$SourceAddr,&$Content,&$RecvTime) {
$DestAddrMask = '1068×××××'.$this->name;
$DestAddr = '';
$SMType = 0;
$pMessageID = "0";
$OrgAddrType = 0;
$ActionID = 0;
$ActionReasonID = 0;
$ServiceID = "";
$Ret_Code = 0;
$stmt = $this->db->PrepareSP('FetchSMRequest');
$this->db->InParameter($stmt,$DestAddrMask,'DestAddrMask');
$this->db->OutParameter($stmt,$SourceAddr,'SourceAddr');
$this->db->OutParameter($stmt,$DestAddr,'DestAddr');
$this->db->OutParameter($stmt,$Content,'Content');
$this->db->OutParameter($stmt,$RecvTime,'RecvTime');
$this->db->OutParameter($stmt,$SMType,'SMType');
$this->db->OutParameter($stmt,$MessageID,'MessageID');
$this->db->OutParameter($stmt,$OrgAddrType,'OrgAddrType');
$this->db->OutParameter($stmt,$ActionID,'ActionID');
$this->db->OutParameter($stmt,$ActionReasonID,'ActionReasonID');
$this->db->OutParameter($stmt,$ServiceID,'ServiceID');
$this->db->OutParameter($stmt,$Ret_Code,'Ret_Code');
$this->db->Execute($stmt);
return $Ret_Code; //0 没有消息 1 成功 -1 失败
}
}
?>
使用的时候,先初始化
$sms = new PHPSMS();
$sms->init();
发送消息的方法
$re = $sms->addSMtoSend('1385×××××','PHP测试');
if($re = 1) echo "success";
else echo "fail";
接收消息的方法
$SourceAddr = '';
$Content = '';
$RecvTime = '';
while( $sms->fetchSMRequest($SourceAddr,$Content,$RecvTime) ) {
echo $SourceAddr."<br>".$Content."<br>".$RecvTime;
}
分享到:
相关推荐
在IT行业中,集成第三方服务是常见的任务之一,而华为云短信接口的使用是为企业或个人提供了一种便捷的发送短信的方式。本篇文章将详细介绍如何在PHP环境中,利用华为云短信接口进行短信发送,并且会涉及Guzzle库的...
华为云短信msg demo是一个用于演示如何使用华为云短信服务的示例项目,主要针对开发者,帮助他们快速理解和集成华为云的短信发送功能。这个demo通常包括了必要的代码示例、配置文件以及调用接口的说明,以便开发者...
集成华为短信API通常涉及以下步骤: 1. **环境准备**:确保你的开发环境支持与华为API交互所需的编程语言(如Java、Python、PHP等)。 2. **SDK获取**:下载华为提供的SDK,或者直接使用HTTP库构建请求。 3. **...
9. **API接口**:与其他华为产品和服务(如华为云服务、华为健康等)进行API集成,提供更丰富的功能。 总之,华为商城的运作涵盖了众多IT领域的知识和技术,对于学习和理解电商平台的构建和运营具有很高的参考价值...
【添翼圈首发】华为C8813D智能刷机工具,必备中文Recovery-6.0.2.8|解锁|ROOT|刷机教程 http://www.in189.com/forum.php?mod=viewthread&tid=719876&fromuid=3012143 中文Recovery功能介绍: 1.支持关机充电; 2.全...
PHP是一种广泛应用的服务器端脚本语言,尤其适合Web开发,能够与HTML紧密集成,实现动态网页内容的生成。 该压缩包包含以下文件: 1. `.htaccess`:这是一个Apache服务器的配置文件,用于控制目录级别的访问权限,...
OA系统是企业信息化建设中常见的工具,主要用于提升内部工作效率,实现无纸化办公,促进团队协作。这个系统可能包含了基础的文档管理、流程审批、通知公告、任务分配等功能,旨在满足日常办公需求。 在描述中提到...
H3C交换机作为企业级网络设备,支持SNMP协议,因此可以与Cacti集成进行监控。 针对H3C不同型号的交换机,Cacti提供了特定的主机模板,如文件名所示: 1. `cacti_host_template_h3c-switch_5500.xml`:这是针对H3C ...
laravel-sms支持多种短信服务商,如阿里云、腾讯云、华为云等。开发者需要根据实际使用的服务商设置相应的配置,包括API接口地址、AppKey、AppSecret等。 3. **发送验证码**: 使用laravel-sms发送短信验证码到...
首先,我们需要集成一个第三方短信服务平台,如阿里云、华为云或腾讯云等,这些平台通常提供API接口供开发者调用。在Laravel中,我们可以通过创建一个服务提供者和服务容器绑定来管理这个第三方服务。将API密钥和...