0
<?php
$mysender2= "";
$myrecepient2= "923336088811,923126812536,923134126153";
$mymessage2 = "this is message";
$api_key = "****";
$api_secret="****";

$to_arr = explode(",", $myrecepient2);
foreach ($to_arr as $b){


$url = "https://rest.nexmo.com/sms/json?" .
         "api_key=".$api_key. "&" .
         "api_secret="  .$api_secret . "&" .
         "from="  . urlencode($mysender2) . "&" .
         "to=" . urlencode($b) . "&" .
        "text=" .urlencode($mymessage2);





$c = curl_init($url); 

// Use SSL 
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, TRUE); 
$html = curl_exec($c);
curl_close ($c);

}
?>

上記のスクリプトは、プロセスが完了するまで何度も実行されます。プロセスの完了時にエコーを表示する方法..「プロセスが完了しました」など

4

1 に答える 1

1

申し訳ありませんが、スクリプトが非常に悪く、サーバーが停止します。配列に 3 つの値があるため、3 つの呼び出ししか存在しないことはわかっていますが、さらに必要な場合は? 問題が発生します。

あなたの場合の最善の方法は、オフセットを使用してphpヘッダーを更新することです。以下を参照してください。

    $offset = isset( $_GET['offset'] ) ? $_GET['オフセット']: 0;

    $mysender2= "";
    $myrecepient2= "923336088811,923126812536,923134126153";
    $mymessage2 = "これはメッセージです";
    $api_key = "****";
    $api_secret="****";

    $to_arr = 爆発( ",", $myrecepient2 );

    if( $offset > count( $to_arr ) )
    {
        echo '完了しました!';
    }
    そうしないと
    {

        $b = $to_arr[ $offset ];

        $url = "https://rest.nexmo.com/sms/json?" .
         "api_key=".$api_key. "&" .
         "api_secret=" .$api_secret . "&" .
         "from=" . urlencode($mysender2) . "&" .
         "to=" . urlencode($b) . "&" .
        "text=" .urlencode($mymessage2);

        $c = curl_init($url);

        // SSL を使用
        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, TRUE);
        $html = curl_exec($c);
        curl_close ($c);

        header('Refresh: 0.5; url=YOUR-URL?offset=' . $offset + 1 );
                // 0.5 秒
    }

于 2013-06-22T02:18:19.917 に答える