набрать windows последовательный модем от php - PullRequest
2 голосов
/ 14 апреля 2010

Я пытаюсь набрать номер телефона из php (у меня есть список клиентов в базе данных, и я подумал, что могу использовать его, чтобы позвонить им, когда я нажму на их имя

вот мой код, похоже, он не работает. Я слышу щелчок телефонной линии, но она не набирает номер. может быть, мне не хватает какой-то команды, которую нужно отправить до atdt?

$device = "COM4";

exec("mode $device BAUD=9600 PARITY=n DATA=8 STOP=1 xon=off octs=off rts=on");

$comport = fopen($device, "r+b");

if ($comport === false) {
    die ("Failed opening com port");
} else {
    echo "Com Port Open";
}

stream_set_blocking($comport, 0);

$atcmd = "ATDT222222222222\r"; // dial fake number
if (fwrite($comport, $atcmd ) === false) {
    die ("Failed writing to com port"); 
} else {
    echo "Wrote $atcmd to com port";
}

sleep(10); // added fix to make program work, was closing port too soon for it to dial

fclose($comport);

Ответы [ 2 ]

2 голосов
/ 14 апреля 2010

решил, глупый я

все, что нужно - это сон () перед закрытием это было просто закрытие порта прежде, чем он мог фактически сделать любой набор кроме этого, кажется, работает нормально

1 голос
/ 14 апреля 2010

Попробуйте

$comport = fopen($device, "w+");
...
$atcmd = "ATDT222222222222\r\n";
...