2013-03-05 8 views
1

Я новенькая PHP, и я пытаюсь выполнить команду оболочки, чтобы начать командной строки сканирования на моем Ubuntu 12.10 коробке:Выполнение команды scanimage из PHP

У меня есть следующий фрагмент кода в моем файле PHP (внутри отправителя отправки):

shell_exec('scanimage --format=pdf > scan.pdf') 

Возможно ли это? Я смог выполнить другие команды терминала через этот API. Однако в этом случае ничего не происходит. Я могу запустить выше команду в окне терминала

Я пытаюсь сделать проверку по форме представить

<form method="post" action="printApp.php"> 
    <input type="submit" name="scan" value="Start New Scan" /> 

</form> 



    <? 
    if(isset($_POST["scan"])){ 
     shell_exec('scanimage --format=pdf > scan.pdf') 
    } 
    ?> 

ответ

1

Создать новый файл PHP с именем scanimage.php и поставить только

<?php 
shell_exec('scanimage --format=pdf > scan.pdf'); 
?> 

в этом. Затем в bash введите php scanimage.php в том же каталоге, что и файл.

ОБНОВЛЕНИЕ. После сеанса чата кажется, что у Apache не было разрешений, необходимых для доступа к сканеру где-нибудь в/dev.

+0

Я хотел сделать это с веб-страницы при нажатии кнопки и не включать оболочку bash. Это возможно? – TGH

+0

MAke файл, как я предложил выше, и поместить его в ваш 'public_html', чтобы он был доступен через Интернет, а затем просто откройте свой браузер и перейдите на эту страницу. Имейте в виду, что у каждого будет доступ к нему, если вы не примете дополнительные меры безопасности. Если вы хотите сделать это одним нажатием кнопки, мне нужно увидеть весь файл, чтобы посмотреть, что происходит. –

+0

Хм .. Я не совсем понимаю, почему я не могу просто сделать это через сообщение формы, инициированное нажатием кнопки отправки? – TGH