2012-06-26 3 views
5

PHP를 사용하여 명령 줄에서 명령을 올바르게 실행하려면 어떻게해야합니까? 지금은 같은 명령을 실행할 수 싶지만 아무것도 보인다 PHP 코드를 사용하여PHP를 사용하여 cmd 명령 실행하기

pdfcreator.exe /PF"D:\Documents\sample.docx 

이 발생 될 예를 들어 내가 pdf 파일로 DOCX 파일을 변환하려면 명령 줄에서 다음 명령을 사용하고 있습니다 :

<?php 
shell_exec('pdfcreator.exe /PF"D:\Documents\sample.docx"'); 
?> 

그렇다면 어떻게 할 수 있습니까?

+0

### 업데이트 로그에 오류가 있습니까? 'shell_exec' 호출을'var_export'에 넣으면 어떻게 될까요? ### Original 당신은 대신'system()'을 시도 했습니까? 다음은 문서입니다 : http://www.php.net/manual/en/function.system.php. –

+0

시스템 (exec, shell_exec, 시스템, pcntl_exec, passthru)에서 명령을 실행하기 위해 시스템과 다른 모든 기능을 시도했습니다. –

+0

나는 downvoted 사람이 아닙니다. –

답변

8
system("c:\\path\\to\\pdfcreator.exe /PF\"D:\\Documents\\sample.docx""); 

시도해보십시오.

+0

환경 변수에 이미 포함되어있는 경우 실행 파일의 경로를 포함시켜야합니까? –

+0

확실하지는 않지만 안전은 모든 경로를 통과합니다. –

+0

구문 오류가있어서 제공 한 코드를 기반으로 변경했습니다. system ('C : \\ Program Files \\ PDFCreator \\ pdfcreator.exe/PF \ "D : \\ Documents \\ sample.docx " '); 하지만 운이 아직 없습니다. –

4

escapeshellcmd()으로 명령을 벗어나는 것을 잊지 마십시오. 이렇게하면 추한 역 슬래시와 이스케이프 문자를 사용하지 않아도됩니다.

`command` // back ticks drop you out of PHP mode into shell 
exec('command', $output); // exec will allow you to capture the return of a command as reference 
shell_exec('command'); // will return the output to a variable 
system(); //as seen above. 

은 또한에 .exe가 $ PATH 변수에 포함되어 있는지 확인 :

도 작동 할 수있는 다른 대안이있다. 그렇지 않은 경우 명령의 전체 경로를 포함하십시오.

+0

답변을 기반으로 아래 코드를 시도했지만 여전히 작동하지 않습니다. 나는 어떤 것을 엉망으로 만들었습니까?

+0

CLI에서 스크립트를 실행하면 아무 것도 출력되지 않습니까? '$ command = escapeshellcmd ('pdfcreator.exe /PF"D:\Documents\sample.docx "> C : \ outfile');'와 같은 것을 시도해보십시오. 어떤 것도 C : \ outfile에 기록됩니까? –

관련 문제