У меня возникла проблема, которая, вероятно, имеет простое решение, но поскольку я не эксперт php, я не могу ее найти. Я обычно делаю это Whan я должен вызвать команду оболочки из PHP:преобразование команды сценария linux shell в php
cmd = "convert file.pdf image.jpg";
shell_exec($cmd);
Но теперь у меня есть команда, которая работает на оболочке, что я не могу заставить ее работать с PHP, так что я думаю, что, вероятно, способ излагают ту же команду, но на языке PHP,
команда:
for i in $(seq --format=%3.f 0 $nf); do echo doing OCR on page $i; tesseract '$imgdir/$imgdir-$i.ppm' '$imgdir-$i' -l eng; done
мой PHP попробовать:
<?php
$imgdir = "1987_3";
$nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
$cmd = "for i in $(seq --format=%3.f 0 $nf); do echo doing OCR on page $i; tesseract '$imgdir/$imgdir-$i.ppm' '$imgdir-$i' -l eng; done"
shell_exec($cmd);
?>
Что я получаю:
PHP Notice: Undefined variable: i in count.php on line 7
предложения очень приветствуется ... спасибо
UPDATE
Я прочитал вопрос от одного я отмеченного как я понял из этого, было то, что у моего «i» должна быть ссылка, которая для команды оболочки есть, но она не работает, когда выполненный с php.
В отношении того, что я также попробовал это безуспешно:
<?php
$imgdir = "1987_3";
$nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
$cmd ="seq --format=%3.f 0 $nf";
$i = shell_exec($cmd);
$cmd = "tesseract 'filesup/$imgdir/$imgdir-$i.jpg' 'filesup/$imgdir/$imgdir-$i' -l eng; done";
shell_exec($cmd);
?>
Возможный дубликат [PHP: "Notice: Undefined переменной" и " Примечание: Неопределенный индекс "] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Epodax