2

以下のコマンドを実行しようとしていますが、ファイルが生成されていないため、私が知る限り実行されていません。エラーメッセージがまったく表示されません。Linuxボックスでテストしているときにこのコマンドは正常に機能していましたが、数日間インターネットに接続できないため、Webサイトからxamppを実行しているWindowsボックスに移動しています。そのため、Windowsで動作するようにコマンドを変更しています。コマンドのどこかにエラーがあるはずですが、apache、Windowsでの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);
4

1 に答える 1

3

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);
于 2013-01-29T01:31:41.113 に答える