-1

由于双引号内的反斜杠,这不起作用

exec("convert $file -resize 100x100\> $destination");

我试过插入{}\甚至 \\ 都没有成功!

exec("convert $file -resize 100x100{\}> $destination"); //failed!
exec("convert $file -resize 100x100\\\> $destination"); //failed!
exec("convert $file -resize 100x100\\> $destination"); //failed!

我知道我很近,但我找不到它!它是什么 ??谢谢

4

5 回答 5

1

如果您需要在文本中添加反斜杠,那么您应该编写\\. 然后你写一个反斜杠(转义),然后写一个反斜杠。

于 2013-06-30T23:34:01.207 回答
1

引用论点:

exec("convert $file -resize '100x100>' $destination");
于 2013-06-30T23:38:33.240 回答
0

如果您真的需要反斜杠,请尝试这样的操作(带单引号):

exec('convert '.$file.' -resize 100x100\> '.$destination);
于 2013-06-30T23:35:41.320 回答
0

经过多次测试和阅读,我为那些感兴趣的人找到了解决方案

测试1

$from = 'c:/fc_gallery/test.jpg'; //image size: 662 x 960
$to = 'c:/public_html/gallery/images/test.jpg';

exec("convert -resize 100x100 $from $to"); //produces a thumbnail of 62x100, keeps aspect ratio

测试2

$from = 'c:/fc_gallery/test.jpg'; //image size: 1874 x 1430
$to = 'c:/public_html/gallery/images/test.jpg';

exec("convert -resize 100x100 $from $to"); //produces a thumbnail of 100x76, keeps aspect ratio

我很惊讶我不需要反斜杠(\)或更大的符号(>)来保持纵横比!我正在使用 imagemagick 版本 6.8.6-Q16 ......并且,对于那些感兴趣的人,我正在阅读这本书ImageMagick 的权威指南

于 2013-07-01T17:22:53.097 回答
0

我用 echo 替换了 exec 以查看您最终得到的字符串:

$destination='something';
echo "convert $file -resize 100x100\\> $destination";
echo "<br>\n";
echo "convert $file -resize 100x100\\> $destination";
echo "<br>\n";
echo "convert $file -resize 100x100\\\> $destination";

输出:

convert -resize 100x100\> something
convert -resize 100x100\> something
convert -resize 100x100\\> something

所以问题似乎出在命令本身。

我会像这样把字符串放在一起:

$ex_string='convert '.$file.' -resize 100x100\> '.$destination;

于 2013-06-30T23:42:15.610 回答