Search code examples
phpimagemagickmogrify

mogrify resize file name with bracket


in php it failed when resize file name that include "(" bracket.

normally I do

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

but it don't work with filename with bracket

by command line have to escape like this for working.

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

how to fix it for php by exec() command

note filename must use bracket.

thank you.


Solution

  • Try to use escapeshellcmd and escapeshellarg when using functions that works with the command line.

    For example:

    <?php
    $filewidth = escapeshellcmd($filewidth);
    $fileheight = escapeshellcmd($fileheight);
    $file = escapeshellcmd($file);
    
    exec("mogrify -resize {$filewidth}x{$fileheight}! \"$file\"");
    ?>