-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

多くのテストと読書の後、私は興味のある人のための解決策を見つけました

テスト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

バックスラッシュが本当に必要な場合は、次のようにしてください (一重引用符を使用)。

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

exec を echo に置き換えて、最終的にどのような文字列になるかを確認しました。

$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 に答える