首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP发送短信API

PHP发送短信API
EN

Stack Overflow用户
提问于 2014-05-24 04:54:45
回答 2查看 1.2K关注 0票数 0

请看一下我的PHP代码中的以下代码片段:

代码语言:javascript
复制
function SMS(){

$msg1="".$bookingNo."\n".$guestName."\n".$guestEmail."\n".$guestPhone."\n".$guestAddress."\n".$place."\n".$account."\n".$reportingDate."\n".$reportingTime."";   
file('http://sms.xxxxxxxxxxxxx.co.in/api/webxxxx.php?workingkey=76565xxxxxx&sender=ILUVU&to=9897xxxxxxx&message='.$msg1.'');}

问题是,当在浏览器窗口上运行时,此http链接可以成功发送短信,并在&message=中显示一些虚拟文本。

但是当我在$msg1中赋值所有已定义和测试的变量时&在同一个url中调用它。

哇,在调用这个函数时,它没有显示错误&什么也没有发生。没有短信。

我想知道哪里错了?

谢谢

更新代码:

代码语言:javascript
复制
function SMS(){

$bookingNo=$_REQUEST['bookingNo'];
$guestName=$_REQUEST['guestName'];
$guestEmail=$_REQUEST['guestEmail'];
$guestPhone=$_REQUEST['guestPhone'];
$guestAddress=$_REQUEST['guestAddress'];
$place=$_REQUEST['place'];
$account=$_REQUEST['account'];
$reportingDate=$_REQUEST['reportingDate'];
$reportingTime=$_REQUEST['reportingTime'];

$msg1="".$bookingNo."\n".$guestName."\n".$guestEmail."\n".$guestPhone."\n".$guestAddress."\n".$place."\n".$account."\n".$reportingDate."\n".$reportingTime."";
file('http://sms.xxxxxxxxxxxxx.co.in/api/webxxxx.php?workingkey=76565xxxxxx&sender=ILUVU&to=9897xxxxxxx&message='.$msg1.'');}



}

SMStoDriver();

EN

回答 2

Stack Overflow用户

发布于 2014-05-24 05:00:46

URL中不允许使用换行符。您需要对消息进行编码:

代码语言:javascript
复制
function SMS(){

    $bookingNo=$_REQUEST['bookingNo'];
    $guestName=$_REQUEST['guestName'];
    $guestEmail=$_REQUEST['guestEmail'];
    $guestPhone=$_REQUEST['guestPhone'];
    $guestAddress=$_REQUEST['guestAddress'];
    $place=$_REQUEST['place'];
    $account=$_REQUEST['account'];
    $reportingDate=$_REQUEST['reportingDate'];
    $reportingTime=$_REQUEST['reportingTime'];
    $msg1=urlencode("Booking No: $bookingNo\nName: $guestName\n Email: $guestEmail\nPhone: $guestPhone\nAddress: $guestAddress\nPlace: $place\nAccount: $account\nDate: $reportingDate\nTime: $reportingTime");
    file('http://sms.xxxxxxxxxxxxx.co.in/api/webxxxx.php?workingkey=76565xxxxxx&sender=ILUVU&to=9897xxxxxxx&message='.$msg1.'');}
}
票数 2
EN

Stack Overflow用户

发布于 2014-05-24 04:57:00

看起来您正在尝试使用file方法发出web请求。也许您的PHP被配置为not allow file I/O requests to URLs

您最好使用类似于cURL的代码来发出web请求。

代码语言:javascript
复制
$curl = curl_init();

curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'http://sms.xxxxxxxxxxxxx.co.in/api/webxxxx.php?workingkey=76565xxxxxx&sender=ILUVU&to=9897xxxxxxx&message=test',
    ));

$resp = curl_exec($curl);

curl_close($curl);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23838193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档