2011-07-25 4 views
0

그래서 Image Magick 변환을 수행하는 데 php 명령 줄 execs를 사용하고 있으며 '!'과 관련된 문제가 있습니다. 그 안에. 때로는 가로 세로 비율을 유지하지 않고 이미지 크기를 조정할 때 라이브러리를 사용하고 Image Magick에는 그냥하는 명령이 있습니다. 너비와 높이의 최대 값에 '!' 문제는 그것을 작동시킬 수 없다는 것이며, 높이 제한을 완전히 무시한 것입니다. 나는 그 이유를 '!' 탈출 할 필요가 있지만 작동시키지 못합니다.PHP exec 명령 및 특수 문자 이스케이프

exec("convert $theFile -resize $max_Xx$max_Y! $theFile", $outputAry); 

$ theFile 이미지의 경로이며, $ max_X 및 max_Y 사용자가 수를 설정하는 것을 통해 전달 된 너비와 높이 값은 다음과 같습니다 아무도 내가이 명령을 작동시킬 수있는 방법을 말해 줄 수 . '!' 종횡비를 완벽하게 유지하면서 크기를 조정하지만, 거기에 쌓여 있으므로 높이를 무시하고 원래 높이를 유지하면서 너비를 조정합니다. 나는 앞에 '\'를 써서 그것을 벗어나려고했다. 하지만 작동하지 않습니다. 누구든지 적절한 구문에 대한 아이디어가 있습니까?

답변

1

-resize {$max_X}x{$max_Y}!
편집을 시도 : 당신은 여전히 ​​탈출해야합니다!

+0

그랬어! 나는 PHP가 괄호없이 높이 값을 통과시키지 않았다고 생각합니다. 정말 고마워. – Throttlehead

0

나는 이제까지 느낌표를 탈출하는 것을 기억하지 않는,하지만 당신을 도울 수 있습니다

http://php.net/manual/en/function.escapeshellcmd.php

+0

명령이 Bash를 거치는 경우 '!'는 내역 제어 기능을 호출 할 수 있습니다 ... 이스케이프가 올바르게 수행되어야합니다. 또는'exec' 대신'system()'을 사용할 수도 있습니다. –

+0

그래, 내가 처음 시도한거야. 작동하지 않았지만 어쨌든 고마워요 :) – Throttlehead