Я пытаюсь написать внешний интерфейс для отправки факсов в PHP. Я хочу знать, как мне получить положение дел работы по факсу.
Когда пользователь отправил факс, как я могу сообщить пользователю о статусе работы? В случае, если линия назначения была занята, недоступна и т. Д.
Есть ли какой-либо файл журнала или команда, содержащая статус конкретного задания факсимильной связи, которое можно передать во внешний интерфейс? Таким образом, я могу сообщить пользователю сообщение об успешном / неудачном завершении.
Я знаю о faxstat -d
, но это отчет для всех заданий, и я не могу получить его на стороне php.
Как видите, формат вывода нелегко проанализировать.
Просто для справки, Вот список всех кодов состояния.
Я просмотрел документацию Hylafax, но ничего не нашел о том, как отследить статус работы.
Я знаю о faxstat -d, но это отчет для всех заданий, и я не могу получить его на стороне php.
Что вы можете. У вас есть несколько вариантов: система и exec.
Используйте один из них для запуска команды faxstat в сочетании с grep, и вы сможете получить нужные данные. Как вариант, втяните весь вывод faxstat в переменную php, а затем проанализируйте данные, которые вы ищете.
Файл в /var/spool/hylafax/doneq/q$job_id
, где $job_id
это ваша работа №, является более информативным. Посмотреть здесь: http://hylafax.sourceforge.net/man/doneq.php
Файлы в каталоге doneq указывают завершенные запросы заданий передачи. Эти файлы создаются hfaxd (8C) при отправке задания от имени sendfax (1) или sendpage (1). Файлы описания задания также находятся в каталоге sendq; они перемещаются оттуда в каталог doneq с помощью faxq (8C) по завершении задания.