对流程完成的响应

时间:2013-06-22 01:51:52

标签: php

<?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);

}
?>

上述脚本将一次又一次地运行,直到完成该过程。如何在流程完成时显示回显...例如“您的流程已完成”

1 个答案:

答案 0 :(得分:1)

很抱歉,但是,你的脚本太糟糕了,你的服务器就哭了,我知道只有3个调用,因为你的数组有3个值,但是如果需要更多?你会遇到问题。

在你的情况下,最好的方法是使用偏移量刷新php标题,请参阅下面的内容:

    $offset = isset( $_GET['offset'] ) ? $_GET['offset'] : 0;

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

    $to_arr = explode( ",", $myrecepient2 );

    if( $offset > count( $to_arr ) )
    {
        echo 'Completed!';
    }
    else
    {

        $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); 

        // 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);

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