2012-01-20 20 views
0

這工作:了shell_exec,ImageMagick的轉換似乎不喜歡美元

shell_exec('convert Q39.pdf Q39.png');

然而,這並不:

$id = 39; shell_exec('convert Q$id.pdf Q$id.png');

在另一了shell_exec與另一個命令(pdflatex)有用。不知怎的,$ ID將被忽略,因此該文件是找不到的,所以這樣做:

$id = 39; shell_exec('convert Q39.pdf Q$id.png');

我得到一個名爲Q.png一個正確的文件。

任何想法我可以解決這個問題?

在此先感謝。

$id = 39; shell_exec("convert Q$id.pdf Q$id.png"); 

或將它們連接起來:

$id = 39; shell_exec('convert Q'.$id.'.pdf Q'.$id.'.png'); 

我推薦的第二種方式,因爲它更具有可讀性

回答

1

要你必須要麼使用雙引號字符串常量使用變量當使用語法高亮。

甚至更​​好,確保它總是一個十進制:

$id = 39; shell_exec(sprintf('convert Q%1$d.pdf Q%1$d.png', $id)); 

這也將告訴你哪些變量用於構建命令。

+0

工程就像一個魅力。謝謝! – Geoff

相關問題