2011-05-07 76 views
3

我有一个USB 3G调制解调器华为E1550和Windows XP。 我想用这个调制解调器trhow php发送短信。在php中打开com端口

我用这个函数打开调制解调器COM端口:

$fp = fopen ("COM3:", "wb+"); 
if (!$fp) { 
    echo "Not open"; 
} else { 
    echo "Open"; 
} 

每一次我得到一个错误:

Warning: fopen(COM3:) [function.fopen]: failed to open stream: Invalid argument in D:\Apache\htdocs\z91.ru\audio\test.php on line 3

+0

'fopen(“COM3:”,“wb +”);'无法打开“COM3”,你确定这是打开的文件/流吗? – 2011-05-07 11:02:43

+0

我发现这个文件/流名称谷歌很多例子 – Leonid 2011-05-07 11:07:20

+0

嗯,也许这就是问题所在。尝试使用另一个超过3的数字,例如“COM1:”或“COM2”,谁知道。 – 2011-05-08 19:01:40

回答

4

你也可以尝试删除结肠旁COMN此去工作

exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 

$fp = fopen ("COM3", "w"); 
if (!$fp) { 
    echo "Not open"; 
} else { 
    echo "Open"; 
} 
+1

无论谁建议在编辑中删除冒号**都滥用编辑功能。这完全改变了答案的主题,所以它应该作为独特的答案而不是编辑发布。 – 2013-05-31 15:34:56

+0

在进一步(并且幸运地被拒绝)不合适的第三方编辑尝试中,有人建议该模式应该包含二进制标志,尽管这取决于应用程序的需要。 – 2013-05-31 15:37:08