2012-03-02 3 views
0

당신이PHP를 호출하는 변수

$imagename = 123; 

$test = ('C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "c:\pathtodirectory\$imagename" "photoprint""'); 
echo $test 

$imagename을 좀 도와주십시오 수 있다면 현재를 가지고 내가, 내가 행운과 윈도우 CLI에 보낼 필요가 명령의 변수를 호출하려고 해요 123의 가치이지만 여러 인용문 내에서 전화 할 수 없으므로 도움을 받으십시오.

감사합니다.

+0

함수 및 메소드는 "호출"되며, 변수는 "사용", "참조 된"또는 "보간"됩니다. – deceze

+0

PHP 외부에서도 따옴표가 작동하지 않는다고 생각합니다. 따옴표 블록 안에 이스케이프 처리되지 않은 따옴표 블록이 있습니다. 나는 당신이 당신의 다른 이슈에 빠지기 전에 Windows가 그것에 대해 적합하다고 생각합니다. – rockerest

+0

불리는 vs 사용에 대해 불쌍히 여긴다. 나는 이것을 파일 이름과 함께 사용하고 변수를 사용하지 않으면 명령이 작동한다. 수많은 인용문과 혼동된다. – Umi

답변

0

무엇?

$imagename = 123; 
$test = 'C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "c:\pathtodirectory\\' . $imagename . '" "photoprint"'; 
echo $test; 
+0

예, exec 또는 shell_exec에서 $ test를 사용할 수 있습니까? – Umi

+0

고마워요 FMC – Umi

+0

'exec()'의 두 번째 매개 변수는 명령 출력의 각 행을 포함하는 배열입니다. 'shell_exec()'는 명령 출력을 포함하는 문자열을 반환합니다. 그것은 당신의 선택입니다. – FMCorz

0

초기 문자열이 작은 따옴표 안에 있으므로 PHP는 작은 따옴표로 묶은 문자열 내의 변수를 구문 분석하지 않습니다.

시도 중 $test = ("C:\Windows\System32\cmd.exe /c \"rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt \"c:\pathtodirectory\$imagename\" \"photoprint\"\"");

또는 이것에 대한 $test = ('C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt ' . "\"c:\pathtodirectory\$imagename\"" . ' "photoprint""');

+0

C : \ Windows \ System32 \ cmd.exe/c "rundll32.exe C : \ Windows \ System32 \ shimgvw.dll, ImageView_PrintTo/pt"c : \ pathtodirectory $ imagename ""photoprint ""여전히 123 대신 $ imagename이 표시됩니다. – Umi