Aja*_*yan 4 php linux pdf shell cakephp
我想将pdf
文件转换为文本文件.当我通过终端运行命令它工作正常,但当试图通过PHP
它执行它不工作.
我在谷歌的最后四个小时花了很多时间,但没有可用的解决方案.任何机构都能解决这个问题吗?
文件所有者 - 没人
shell_exec('/usr/bin/pdftotext /opt/lampp/htdocs/foldername/filename.pdf');
Run Code Online (Sandbox Code Playgroud)
谁能提供任何有用的解决方案?
我还尝试将usr
文件夹所有权从root 更改为nobody,并对文件夹及其上下文提供777权限.
您运行pdftotext的命令不正确.
应该有第二个参数告诉pdftotext写入特定文件或只是使用短划线" - "写入stdout,除非你真的希望程序创建一个文件名为pdf的文本文件(这将需要写入/opt/lampp/.../文件夹中的权限)
这至少是真实的 pdftotext version 0.12.4
"Pdftotext读取PDF文件,PDF文件,并写入文本文件,文本文件.如果未指定文本文件,pdftotext将file.pdf转换为file.txt.如果文本文件为' - ',则为文本被送到stdout."
所以,你的问题的解决方案只是在文件名之后添加一个短划线,如下所示:
<?php
$pdftext = shell_exec('/usr/bin/pdftotext /opt/lampp/htdocs/foldername/filename.pdf -');
echo $pdftext;
Run Code Online (Sandbox Code Playgroud)
如果二进制存在且允许PHP使用shell_exec并且您具有权限并且pdf文件存在并且您具有权限.