2016-12-15 171 views
0

我已经在命令行中运行了tesseract,并且得到的结果很好,但现在我在PHP exec中使用了相同的命令,它不起作用。PHP - Exec文件路径错误(Tesseract)

的命令是:

"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" "C:\xampp\htdocs\Atoms Projects\Tesseract\text.jpeg" "C:\xampp\htdocs\Atoms Projects\Tesseract\Out.txt" 

我试过这段代码:

exec("C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" "C:\xampp\htdocs\Atoms Projects\Tesseract\text.jpeg" "C:\xampp\htdocs\Atoms Projects\Tesseract\Out.txt"); 
print_r($msg); 

我怎样才能使命令正常工作?

还有什么办法发送多行?分裂成像瓦尔:

$exe = "C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"; 
$img = "C:\xampp\htdocs\User Projects\Tesseract\text.jpeg"; 
$txt = "C:\xampp\htdocs\User Projects\Tesseract\Out.txt"; 

这也不能正常工作:

$exe = "C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"; 
$img = "C:\xampp\htdocs\Atoms Projects\Tesseract\text.jpeg"; 
$txt = "C:\xampp\htdocs\Atoms Projects\Tesseract\Out"; 
$output = exec("\"$exe\" \"$img\" \"$txt\" "); 
print_r($output); 

我在Windows操作系统中使用XAMPP。

+0

我想你想这样的'$输出= EXEC($ EXE $ IMG $ TXT) ; print_r($ output); ' –

+0

给出错误 - 解析错误:语法错误,意外'$ img'(T_VARIABLE) – zeddex

+1

'$ exe =“C:\ Program Files文件(x86)\ Tesseract-OCR \ tesseract.exe”; $ img =“C:\ xampp \ htdocs \ User Projects \ Tesseract \ text.jpeg”; $ txt =“C:\ xampp \ htdocs \ User Projects \ Tesseract \ Out.txt”; $ output = exec($ exe $ img $ txt); print_r($ output); ' –

回答

0

我发现这是所有\字符更改为/在3条路径是这样的解决方案:

$exe = "C:/Program Files (x86)/Tesseract-OCR/tesseract.exe"; 
$img = "C:/xampp/htdocs/Atoms Projects/Tesseract/text.jpeg"; 
$txt = "C:/xampp/htdocs/Atoms Projects/Tesseract/Out"; 
$output = exec("\"$exe\" \"$img\" \"$txt\" "); 
print_r($output);