以下示例PHP脚本sendsms.php可用于通过带有PHP的NowSMS发送SMS文本消息。该脚本也可以从以下位置下载 http://www.zgbianpofanghuwang.com/download/sendsms-php.txt.
SendSMS功能是该示例的重要部分。这是需要包含在PHP脚本中的函数。您调用此函数,并指定NowSMS服务器的基本URL以及用户名和密码。 “SMS Users” NowSMS服务器上的帐户,以及收件人的电话号码和SMS消息的文本。
SendSMS函数使用这些参数来构建HTTP POST以连接到NowSMS服务器。
支持其他可选参数。有关NowSMS URL参数的其他信息,请参阅 http://www.zgbianpofanghuwang.com/doc/submitting-sms-messages/url-parameters.
在SendSMS函数之后,我们展示了两个示例,说明如何从PHP脚本中调用此函数。第一个示例发送仅包含必需参数的SMS文本消息。第二个示例包括一个额外的可选参数,以说明如何对这些参数进行编码。
//此代码提供了一个示例,说明如何从内部调用SendSMS函数 //一个用于发送消息的PHP脚本。 SendSMS('//sample.smshosts.com/', 'username', 'password', '+44999999999', 'Test Message'); //此示例添加了另一个URL参数ReceiptRequested = Yes SendSMS('//sample.smshosts.com/', 'username', 'password', '+44999999999', 'Test Message with delivery report', 'ReceiptRequested', 'Yes'); |
可以从以下链接下载以下详细描述的脚本: http://www.zgbianpofanghuwang.com/download/sendsms-php.txt.
<?php function SendSMS ($hostUrl, $username, $password, $ phoneNoRecip, $ msgText, $n1 = NULL, $v1 = NULL, $n2 = NULL, $v2 = NULL, $n3 = NULL, $v3 = NULL, $n4 = NULL, $v4 = NULL, $n5 = NULL, $v5 = NULL, $n6 = NULL, $v6 = NULL, $n7 = NULL, $v7 = NULL, $n8 = NULL, $v8 = NULL, $n9 = NULL, $v9 = NULL ) { //参数: // $hostUrl – URL of the NowSMS server (e.g., http://127.0.0.1:8800 or // //sample.smshosts.com/ // $ username – NowSMS服务器上的“ SMS用户”帐户 // $ password –为NowSMS服务器上的“ SMS用户”帐户定义的密码 // $ phoneNoRecip –一个或多个电话号码(以逗号分隔)以接收消息 // $ msgText – Text of the message // $ n1- $ n9 / $ v1- $ v9-其他可选的URL参数,编码为名称/值对 //示例:charset = iso-8859-1编码为“ charset”,“ iso-8859-1” $postfields = array('Phone'=>"$ phoneNoRecip", 'Text'=>"$ msgText"); if (($n1 != NULL) && ($v1 != NULL)) $postfields[$n1] = $v1; if (($n2 != NULL) && ($v2 != NULL)) $postfields[$n2] = $v2; if (($n3 != NULL) && ($v3 != NULL)) $postfields[$n3] = $v3; if (($n4 != NULL) && ($v4 != NULL)) $postfields[$n4] = $v4; if (($n5 != NULL) && ($v5 != NULL)) $postfields[$n5] = $v5; if (($n6 != NULL) && ($v6 != NULL)) $postfields[$n6] = $v6; if (($n7 != NULL) && ($v7 != NULL)) $postfields[$n7] = $v7; if (($n8 != NULL) && ($v8 != NULL)) $postfields[$n8] = $v8; if (($n9 != NULL) && ($v9 != NULL)) $postfields[$n9] = $v9; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $hostUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); // TODO:此脚本当前不验证SSL证书 // curl_setopt($ ch,CURLOPT_VERBOSE,true); // curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,true); // curl_setopt($ ch,CURLOPT_CAINFO,'cacert.pem'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // change to 1 to verify cert curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); $result = curl_exec($ch); return $result; } //此代码提供了一个示例,说明如何从内部调用SendSMS函数 //一个用于发送消息的PHP脚本。 // NowSMS服务器的响应从脚本中回显。 $x = SendSMS('//sample.smshosts.com/', 'username', 'password', '+44999999999', 'Test Message'); echo $x; //此示例添加了另一个URL参数ReceiptRequested = Yes $x = SendSMS('//sample.smshosts.com/', 'username', 'password', '+44999999999', 'Test Message with delivery report', 'ReceiptRequested', 'Yes'); echo $x; ?> |