Php 为什么我';我在短信中接收at命令?
我试图通过PHP发送短信,通过USB调制解调器使用AT命令。我可以从PHP服务器发送短信到特定的电话号码。但问题是,当我向手机发送一些短信时,我也会收到我用来发送短信的命令 server.phpPhp 为什么我';我在短信中接收at命令?,php,gsm,at-command,Php,Gsm,At Command,我试图通过PHP发送短信,通过USB调制解调器使用AT命令。我可以从PHP服务器发送短信到特定的电话号码。但问题是,当我向手机发送一些短信时,我也会收到我用来发送短信的命令 server.php $fp = fopen('COM4', 'r+'); $writtenBytes = fputs($fp, "AT\r\n"); $writtenBytes = fputs($fp, "AT+CMGF=1\r\n"); $writtenBytes = fputs($fp, "WAIT=1\r\n");
$fp = fopen('COM4', 'r+');
$writtenBytes = fputs($fp, "AT\r\n");
$writtenBytes = fputs($fp, "AT+CMGF=1\r\n");
$writtenBytes = fputs($fp, "WAIT=1\r\n");
$writtenBytes = fputs($fp, "AT+CSCS=\"GSM\"\n\r");
$writtenBytes = fputs($fp, "WAIT=1\r\n");
$writtenBytes = fputs($fp, "AT+CMGS=\"+91xxxxxxxxxx\"\r\n");
$writtenBytes = fputs($fp, "sample text here\n\r");
$writtenBytes = fputs($fp, chr(26));
预期输出:
这里是示例文本
但我收到的短信是:
在
AT+CMGF=1
等待=1
AT+CSCS=“GSM”
等待=1
AT+CMGS=“+91XXXXXXXXX”
这里是示例文本
我怎样才能发送短信,而不向手机发送AT命令?您的代码包含三个基本的误解,如果您不纠正,您将永远无法成功地进行AT命令通信 首先最重要的是丁:你必须。有时人们会错误地使用
delay
、sleep
等来解析响应,但这里您甚至没有这样做,而是尽可能快地调用fputs。这是一场灾难,有时甚至远不能可靠地工作。我强烈建议放弃/取消订阅任何显示此类代码示例1的博客/网站/视频频道
然后就是这个问题要问的那个。如果您关心echo是否打开
特别是对于+CMGS的AT
,您也必须在发送SMS有效负载之前
一,
同样,如果有人建议用肥皂和水清洗汽车发动机内部,你也不应该听这个人说任何与汽车维修有关的话。他们可能会在其他方面提供有价值的信息(比如食物配方和烹饪建议),但不会从他们那里获得汽车维修技巧。感谢您宝贵的信息和时间,这非常有用。但是仍然有疑问,我可以使用什么来代替sleep(),以使其产生延迟(在PHP中)。我不知道如何使用,但我通过在代码末尾添加ob_flush()解决了这个问题!!