【发布时间】:2012-02-11 22:13:55
【问题描述】:
我想解压缩一个文件,这很好用
system('unzip File.zip');
但是我需要通过 URL 传递文件名并且无法使其工作,这就是我所拥有的。
$master = $_GET["master"];
system('unzip $master.zip');
我错过了什么?我知道它一定是我忽略的一些小而愚蠢的东西。
谢谢你,
【问题讨论】:
-
双引号评估变量;单引号没有。但是——要小心,因为简单地将一些输入传递给系统调用可能非常危险。
-
必须说我不喜欢某些cmets的敌意语气。如果你们意识到她/他错过了什么,那么就告诉她/他吧。我们都会在某些时候错过一些东西。
-
这里的错误很简单。您正在尝试使用带有简单引号而不是双引号的字符串插值。字符串插值不适用于简单引号,因为它用于字符串文字。因此,将您的代码更改为
system("unzip $master.zip");应该可以工作。