Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何一次向多部手机发送短信?_Php_Sms_Gsm_At Command - Fatal编程技术网

Php 如何一次向多部手机发送短信?

Php 如何一次向多部手机发送短信?,php,sms,gsm,at-command,Php,Sms,Gsm,At Command,我有一个用户电话列表。它只是一种数组类型。 比如说, $phone = array('13100998888', '13188888000'); 然后我试图一次向两部手机发送一条短信 include "php_serial.class.php"; $serial = new phpSerial; $serial->deviceSet("/dev/ttyACM7"); $serial->deviceOpen(); for($i

我有一个用户电话列表。它只是一种数组类型。 比如说,

$phone = array('13100998888', '13188888000');
然后我试图一次向两部手机发送一条短信

include "php_serial.class.php";     
$serial = new phpSerial;
        $serial->deviceSet("/dev/ttyACM7");
        $serial->deviceOpen();
        for($i = 0; $i < count($phone); $i++){
            $phone_sendto   = InvertNumbers('86'.$phone[$i]);
            $message        = hex2str($str);
            $mess           = "11000D91".$phone_sendto."000800".sprintf("%02X",strlen($message)/2).$message;

            $serial->sendMessage("at+cmgf=0".chr(13));
            $serial->sendMessage("at+cmgs=".sprintf("%d",strlen($mess)/2).chr(13));
            $serial->sendMessage('00'.$mess.chr(26));
        }
        $serial->deviceClose();

    function hex2str($str) {
            $hexstring=iconv("UTF-8", "UCS-2", $str);
            $str = '';
            for($i=0; $i<strlen($hexstring)/2; $i++){
                    $str .= sprintf("%02X",ord(substr($hexstring,$i*2+1,1)));
                    $str .= sprintf("%02X",ord(substr($hexstring,$i*2,1)));
            }
            return $str;
    }
    function InvertNumbers($msisdn) {
            $len = strlen($msisdn);
            if ( 0 != fmod($len, 2) ) {
                    $msisdn .= "F";
                    $len = $len + 1;
            }

            for ($i=0; $i<$len; $i+=2) {
                    $t = $msisdn[$i];
                    $msisdn[$i] = $msisdn[$i+1];
                    $msisdn[$i+1] = $t;
            }
            return $msisdn;
    }
包括“php_serial.class.php”;
$serial=新phpSerial;
$serial->deviceSet(“/dev/ttyACM7”);
$serial->deviceOpen();
对于($i=0;$isendMessage(“at+cmgf=0.chr(13));
$serial->sendMessage(“at+cmgs=“.sprintf”(%d),strlen($mess)/2).chr(13));
$serial->sendMessage('00'.$mess.chr(26));
}
$serial->deviceClose();
函数hex2str($str){
$hexstring=iconv(“UTF-8”,“UCS-2”,“$str”);
$str='';

对于($i=0;$i),这将取决于您的特定电话/设备。SMS从来都不是“多收件人”系统。事实上,一些手机可以发送给多个人,这是他们作为一个额外的附加组件所做的事情,但他们仍然会一次发送给一个人,只是重复这样做。亲爱的,谢谢你的帮助。然后我试着发送重复这样做上面的逻辑。但文本只发送给第一个手机,文本被破坏。因此,我已设置为sleep(10)。然后文本被发送到2部手机,但文本仍然被破坏。