为什么赢了';这个PHP字符串转义对吗?
这项工作:为什么赢了';这个PHP字符串转义对吗?,php,Php,这项工作: $command = "convert C:\wamp\www\site\uploads\a.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\a-thumb.jpg"; exec($command); 由于我使用双引号,我认为这也会起作用: $command = "convert C:\wamp\www\site\uploads\$file_name.jpg -resize 40x30 ^ C:\wamp\www\site\upl
$command = "convert C:\wamp\www\site\uploads\a.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\a-thumb.jpg";
exec($command);
由于我使用双引号,我认为这也会起作用:
$command = "convert C:\wamp\www\site\uploads\$file_name.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\$file_name-thumb.jpg";
exec($command);
但是,$file\u name
var没有被重新组织为这样,但出于某种原因它被视为一个字符串
所以我试了一下:
$command = "convert C:\wamp\www\site\uploads\".$file_name.".jpg -resize 40x30 ^ C:\wamp\www\site\uploads\".$file_name."-thumb.jpg";
exec($command);
但这会引发一系列语法错误
如何正确地转义这个字符串?通过escape,我的意思是如何将它与变量
$file\u name
一起使用。不,您应该使用单引号将其正确转义。您可以添加括号使其工作:
$command = "convert C:\wamp\www\site\uploads\{$file_name}.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\{$file_name}-thumb.jpg";
尝试使用以下规则:
$command = "convert C:\wamp\www\site\uploads\{$file_name}.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\{$file_name}-thumb.jpg";
exec($command);
或:
@JakeRow123出于好奇,为了让第二个开始工作,您是在sprintf中使用$file\u name还是$filename?@Bryan是的,我不得不将变量名更改为$file\u name,这是回答者的一个输入错误。
$command = "convert C:\wamp\www\site\uploads\%s.jpg -resize 40x30 ^ C:\wamp\www\site\uploads\%s-thumb.jpg";
exec(sprintf($command, $filename, $filename));