我打算使用以下内容来调整动画GIF的大小。
是否建议在传递给convert
之前对文件进行其他检查?文件名在上传脚本中自动生成。
$filename = escapeshellarg($filename);
exec('convert image.gif -resize 150x400^ -gravity center -extent 150x400 ' . $filename);
答案 0 :(得分:2)
您应该使用convert
预先设置要执行的可执行文件的绝对路径。
您应该确信您可以信任要执行的convert
命令。
您应该在您要处理的输入文件的前面添加绝对路径。
您应该检查要处理的输入文件的文件大小,(魔术)文件格式,像素尺寸和图层画布几何。例如:
identify \
-format "%f : bytes=%b format=%m width=%w height=%h canvas=%g\n" \
/path/to/input/image
(熟悉%f
,%b
,%m
,%w
,%h
和%g
<的含义em> here 。)
您应该将绝对路径添加到要写入的输出文件中。
您应该非常确定$filename
不包含不需要的字符。
答案 1 :(得分:0)
如果文件名不是来自用户输入(甚至是其中的一部分)并且您使用随机字符或数据(如用户ID)生成文件名,并且您可以绝对确定其中没有不需要的数据或字符,则不需要不用担心。