0

phpでは、「(」角かっこを含むファイル名のサイズを変更すると失敗しました。

通常私はします

exec("mogrify -resize {$filewidth}x{$fileheight}! \"$file\"");

ただし、括弧付きのファイル名では機能しません

コマンドラインで動作するには、このようにエスケープする必要があります。

mogrify -resize 203x126! 53v-slave-only\(2\).png

exec()コマンドでphp用に修正する方法

ファイル名は角かっこを使用する必要があります。

ありがとうございました。

4

2 に答える 2

4

コマンドラインで機能する関数を使用する場合は、 escapeshellcmdescapeshellargを使用してみてください。

例えば:

<?php
$filewidth = escapeshellcmd($filewidth);
$fileheight = escapeshellcmd($fileheight);
$file = escapeshellcmd($file);

exec("mogrify -resize {$filewidth}x{$fileheight}! \"$file\"");
?>
于 2011-07-30T08:33:20.860 に答える
0
$file=str_replace(array('(',')'),array('\\(','\\)'),$file);
于 2011-07-30T07:32:02.473 に答える