sendfax php не работает, выдает код 255 - PullRequest
0 голосов
/ 18 ноября 2011

Я пытаюсь отправить факс с помощью sendfax, но он не работает, когда я повторяю свое выражение exec, оно работает нормально ... в чем проблема с моим выполнением?

$tmpfname = tempnam("/tmp", $_REQUEST['Email']);

$handle = fopen($tmpfname, "w");
fwrite($handle, $body);
fclose($handle);


exec('sendfax -n -d $to $tmpfname', $test2, $test3);
var_dump($test2);
echo $test3;
?>

и я получаю ответ на странице в виде:

array(0) { } 255

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 18 ноября 2011

Вы используете 'single quote strings', у которого нет интерполированных значений переменных . Попробуйте заменить:

exec('sendfax -n -d $to $tmpfname', $test2, $test3);

с:

exec("sendfax -n -d $to $tmpfname", $test2, $test3);

Кроме того, вы должны быть уверены , что ни $to, ни $tmpfname не содержат метасимволов оболочки. В настоящее время адрес электронной почты foo;rm -rf /&@example.com, вероятно, удалит некоторые файлы, которые вам нужны. (Я думаю, что использование $_REQUEST['Email'] как части имени файла - плохая идея.)

Обязательно прочитайте заметки на странице документации PHP exec().

...