Я разрабатываю php-страницу на веб-сервере. Он работает в следующих трех шагах:php tesseract with http post no response
- Получить изображение, загруженное из HTML-формы с помощью метода POST; выполнить tesseract для изменения изображения в текст;
- выполнить tesseract для изменения изображения в текст;
- распечатать текст на экране;
Теперь я считаю, что шаги 2. и 3. верны, потому что, если я использую локальный файл jpg на веб-сервере, все работает отлично. Однако, если я использую HTML-форму для POST файла изображения, никакого ответа. Любое предложение?
HTML-файл
<!DOCTYPE html>
<body>
<form enctype="multipart/form-data" method="POST" action="<webserver>/try.php">
<input type="file" name="myimg"></input>
<input type="submit"></input>
</form>
</body>
</html>
Файл try.php на веб-сервере
<?php
$im=$_FILES['myimg'];
echo exec('/usr/bin/tesseract $im stdout', $msg);
print_r($msg);
?>
На самом деле, я думаю, что ошибка заключается в том, как я использую переменную $ IM, не так ли?
есть образ совершенного в файл? и имеет ли 'www-data' (при условии, что это apache) есть доступ к чтению файла? –
'$ im' - это не местоположение файла, его переменные загрузки самого файла .. вам нужно сначала обработать файл. И затем передать путь в функцию exec. – Pogrindis
вы можете использовать (я думаю) '$ im ['tmp_name']', поскольку это специфично для вашей системы, поэтому его 'clean' – Pogrindis