1
我知道我可能會這麼多的投票,但請幫助我通過這個,因爲我幾乎在那裏。我有下面的代碼。不發送腳本消息
<?php
exec("mode COM1 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
$fp = fopen ("\\.\com1", "r+");
//$fp = dio_open('COM5:', O_RDWR | O_NOCTTY | O_NONBLOCK);
if (!$fp)
{
echo "Uh-oh. Port not opened.";
}
else
{
$string = "AT+CMGF=1";
$string = $string."OK";
$string = $string."AT+CMGS='+44XXXXX'";
$string = $string."> Hello World?<Ctrl>+<Z>";
$string = $string."+CMGS: 44";
$string = $string."OK";
fputs ($fp, $string);
echo $string."\n";
fclose ($fp);
}
?>
上面的代碼是輸出AT+CMGF=1OKAT+CMGS='+44XXXX'> Hello World?++CMGS: 44OK
但實際上並沒有發送任何消息到該號碼。
我有設備連接到其中有SIM卡的PC。
我該怎麼做?
感謝名單答覆我讀的地方我需要使用睡眠命令幾秒到AT命令來響應...是那個.. ..我怎麼樣才能在終端測試它? –
我會使用阻止閱讀。請注意,我只是使用'fgets'來解釋如何去做。你必須弄清楚你自己的時間和格式(這很大程度上取決於調制解調器和連接)。有了[此功能](http://php.net/manual/en/function.stream-set-blocking.php),你可以將'fgets'設置爲阻止。 –
好吧,我現在到目前爲止,只是想知道爲什麼PHP不執行'AT + CMGS'我需要包括任何擴展名。? –