我使用下面的第三方代码为在我的网上商店下订单的客户发送短信,似乎这个代码加载缓慢,导致我的订单确认页面(里面有这个代码)加载缓慢。
有没有我可以使用此代码的解决方案,但它的速度慢不影响我的页面?
由于
// Send SMS
/*
ini_set("soap.wsdl_cache_enabled", "0");
$sms_client = new SoapClient('http://87.107.121.54:2620/post/send.asmx', array('encoding'=>'UTF-8'));
$parameters['username'] = "xxxxxxxxxxx";
$parameters['password'] = "xxxx";
$parameters['to'] = "$phone";
$parameters['from'] = "1000947320";
$parameters['text'] ="test";
$parameters['isflash'] =false;
$sms_client->SendSimpleSMS2($parameters)->SendSimpleSMS2Result;
*/
答案 0 :(得分:0)
使确认页面将值添加到数据库中并创建一个处理数据库中值的脚本,这意味着: 当用户进入页面时,您的代码将执行以下操作:
INSERT INTO sms SET to='$to', text='$text', sent=0;
然后你创建一个执行以下操作的脚本:
ini_set("soap.wsdl_cache_enabled", "0");
$parameters['username'] = "xxxxxxxxxxx";
$parameters['password'] = "xxxx";
$parameters['from'] = "1000947320";
$parameters['isflash'] =false;
$sms_client = new SoapClient('http://87.107.121.54:2620/post/send.asmx', array('encoding'=>'UTF-8'));
$query = mysql_query("SELECT * FROM sms WHERE sent=0");
while( $message = mysql_fetch_assoc($query) ) {
$thisMessage = $parameters;
$thisMessage['to'] = $message['to'];
$thisMessage['text'] = $message['text'];
$sms_client->SendSimpleSMS2($thisMessage)->SendSimpleSMS2Result;
mysql_query('UPDATE sms SET sent=1 WHERE id='.$message['id']);
}
你在cron中运行这个脚本,让我们说每分钟或你想要多久。