ホームページ  >  記事  >  バックエンド開発  >  PHPはSMS認証コードと音声認証コードの送信インターフェイス機能と使用方法を統合します

PHPはSMS認証コードと音声認証コードの送信インターフェイス機能と使用方法を統合します

PHP中文网
PHP中文网オリジナル
2017-03-20 13:41:382174ブラウズ

PHP プロジェクトに取り組んでいるとき、携帯電話を制御するプログラムを使用して SMS コンテンツ を送信する必要がある場合があります。これは 確認コード として使用できます。音声認証コードまたは通知情報。インターネットで偶然Yunpian.comの携帯電話送信インターフェースが優れており、多くの機能を備えていることを知りました。将来のためにこのインターフェースのPHPの使い方を紹介しましょう。

<pre class="HTML " data-pbcklang="html" data-pbcktabsize="4">
<?php
/**
* 在PHP 5.5.17 中测试通过。
* 默认用智能匹配模版接口(send)发送,若需使用模板接口(tpl_send),请自行将代码注释去掉。
*/

//智能匹配模版接口发送样例
$apikey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; //请用自己的apikey代替
$mobile = "xxxxxxxxxxx"; //请用自己的手机号代替
$text="【云片网】您的验证码是1234";
echo send_sms($apikey,$text,$mobile);

//模板接口样例(不推荐。需要测试请将注释去掉。)
/* 以下代码块已被注释
    $apikey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; //请用自己的apikey代替
    $mobile = "xxxxxxxxxxx"; //请用自己的手机号代替
    $tpl_id = 1; //对应默认模板 【#company#】您的验证码是#code#
    $tpl_value = "#company#=云片网&#code#=1234";
    echo tpl_send_sms($apikey,$tpl_id, $tpl_value, $mobile);
*/


/**
* 智能匹配模版接口发短信
* apikey 为云片分配的apikey
* text 为短信内容
* mobile 为接受短信的手机号
*/
function send_sms($apikey, $text, $mobile){
    $url="http://yunpian.com/v1/sms/send.json";
    $encoded_text = urlencode("$text");
    $mobile = urlencode("$mobile");
    $post_string="apikey=$apikey&text=$encoded_text&mobile=$mobile";
    return sock_post($url, $post_string);
}

/**
* 模板接口发短信
* apikey 为云片分配的apikey
* tpl_id 为模板id
* tpl_value 为模板值
* mobile 为接受短信的手机号
*/
function tpl_send_sms($apikey, $tpl_id, $tpl_value, $mobile){
    $url="http://yunpian.com/v1/sms/tpl_send.json";
    $encoded_tpl_value = urlencode("$tpl_value");  //tpl_value需整体转义
    $mobile = urlencode("$mobile");
    $post_string="apikey=$apikey&tpl_id=$tpl_id&tpl_value=$encoded_tpl_value&mobile=$mobile";
    return sock_post($url, $post_string);
}

/**
* url 为服务的url地址
* query 为请求串
*/
function sock_post($url,$query){
    $data = "";
    $info=parse_url($url);
    $fp=fsockopen($info["host"],80,$errno,$errstr,30);
    if(!$fp){
        return $data;
    }
    $head="POST ".$info[&#39;path&#39;]." HTTP/1.0\r\n";
    $head.="Host: ".$info[&#39;host&#39;]."\r\n";
    $head.="Referer: http://".$info[&#39;host&#39;].$info[&#39;path&#39;]."\r\n";
    $head.="Content-type: application/x-www-form-urlencoded\r\n";
    $head.="Content-Length: ".strlen(trim($query))."\r\n";
    $head.="\r\n";
    $head.=trim($query);
    $write=fputs($fp,$head);
    $header = "";
    while ($str = trim(fgets($fp,4096))) {
        $header.=$str;
    }
    while (!feof($fp)) {
        $data .= fgets($fp,4096);
    }
    return $data;
}
?>

関連記事:

PHP ベースの SMS 認証コード インターフェースの実装

SMS 認証コード インターフェース (Ronglianyun Communication)

Tianyi オープンプラットフォーム無料 SMS 認証コードインターフェースの使用例

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。