php - php exec() 运行时遇到问题

标签 php pdftk

我正在尝试运行以下命令,但据我所知,它没有运行,因为没有生成文件。我根本没有收到任何错误消息,当我在我的 Linux 机器上测试这个命令时,它工作正常,但我将我的网站转移到运行 xampp 的 Windows 机器,因为我有几天没有互联网连接。所以我正在更改命令以在 Windows 上使用。我认为我的命令中一定有错误,但由于我在 Windows 上使用 apache、php 的经验很少,我希望其他人能够发现错误(如果有)。

$command = 'C:\\Program Files (x86)\\PDF Labs\\PDFtk Server\\bin\\pdftk.exe C:\\xampp\\htdocs\\lc712\\pdf\\TimeCard.pdf fill_form C:\\xampp\\htdocs\\lc712\\pdf\\results\\' . $userName . '.fdf' . ' output C:\\xampp\\htdocs\\lc712\\pdf\\results\\' . $userName . '.pdf flatten';
    exec($command);

这是最终有效的代码:

$command = '"C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\pdftk.exe" C:\xampp\htdocs\pdf\TimeCard.pdf fill_form C:\xampp\htdocs\pdf\results\\' . $userName . '.fdf' . ' output C:\xampp\htdocs\pdf\results\\' . $userName . '.pdf flatten';
    exec($command);

最佳答案

C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\pdftk.exe 包含空格,因此 Windows 将尝试执行 C:\Program带参数 Files(x86)\PDFLabs\PDFtkServer\bin\pdftk.exe、 ...

尝试用引号转义路径:

$command = '"C:\\Program Files (x86)\\PDF Labs\\PDFtk Server\\bin\\pdftk.exe" C:\\xampp\\htdocs\\lc712\\pdf\\TimeCard.pdf fill_form C:\\xampp\\htdocs\\lc712\\pdf\\results\\' . $userName . '.fdf' . ' output C:\\xampp\\htdocs\\lc712\\pdf\\results\\' . $userName . '.pdf flatten';
exec($command);

关于php - php exec() 运行时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14573961/

相关文章:

php - 我可以从批量插入中检索 lastInsertId 吗?

php - mysql & php : Getting the latest X posts, 然后下一个 X latest 等等

linux - 使用 PDFtk 删除 pdf 文件的最后一页?

php - 通过 PHP 将元数据添加到 PDF

windows - pdftk update_info 命令发出我不明白的警告

java - 从其他带有页码的 PDF 生成 PDF

php - 在 mysql php 搜索中突出显示搜索文本

php - 抛出 SQL 语法错误的简单查询

php - 将 index.php 重定向到 root 不适用于 SSL

pdf - [隐写术]隐藏PDF文件中的数据