我正在与一个项目一起使用PHP发送带有华为E153加密狗的短信。但是我的代码不能使用这个调制解调器。(它正在使用我的三星手机)。要求解决这个问题我需要检查来自modem的响应。请帮助。这是我的代码。
<?php
$filename ="COM20";
date_default_timezone_set('Asia/Colombo');
$date = date('Y/m/d H:i:s');
$message="This is a test message 2 .$date.";
$numbers = array("+941234567");
if (!$handle = fopen($filename, 'r+'))
{
echo "The device isn't detected";
exit;
}
else
{
foreach ($numbers as $value) {
if (fwrite($handle,"AT+CMGF=1\n\r"))
sleep(5);
{
fwrite($handle, "AT+CMGS=\"$value\"\n\r");
sleep(5);
fwrite($handle,"$message".chr(26)."\n\r");
sleep(7);
echo "sent to $value <br>";
}
}
fclose($handle);
echo "Port Closed";
}
?>
答案 0 :(得分:0)
在处理AT命令时,请从不使用sleep
。有关如何正确解析的建议,请参阅this answer。
关于AT+CMGS
,您必须在发送邮件内容之前等待来自调制解调器的就绪响应,有关详细信息,请参阅this answer的第一部分。