问题
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.
回答1:
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\"");
?>
回答2:
$file=str_replace(array('(',')'),array('\\(','\\)'),$file);
来源:https://stackoverflow.com/questions/6881777/mogrify-resize-file-name-with-bracket