我不能使用 * 或 ? 用于更改目录
chdir ("c:\win*\system*");
它是如何工作的,我猜不出 Windows 的全名是什么,例如 WIN 或 winxp 或 win7。或者如何猜测它的全名
chdir()
到系统应该为您选择的随机通配符目录以防发生冲突?真的?!
路径是明确的。 它在这里或那里......不是某个地方,只是为我查找它。为什么首先尝试从 PHP 访问系统目录?权限设置对了吗?或者您想对使用您的脚本但自己无法猜测正确路径的用户进行修改?
想象一下,这家伙
chdir()
每次都要做一个简单的操作,必须列出多个文件夹中的路径。让我们谈谈安全性、 性能……但最重要的是……常识。
我在SO上看到的东西......
PS:我-1'ed你。这个问题不应该由对...开发内容了解最少的开发人员提出。想将东西注入系统目录,不要使用 PHP。
偶然发现:
CHDIR 允许通配符作为路径名,并更改为找到的第一个目录,其名称与指定的通配符匹配。这对于长目录名很方便,因为只需要输入足够多的路径来唯一标识目录,然后在路径名后面添加一个“*”。 http://www.rcramer.com/tech/windows/cmd/ad.html#CHDIR
虽然它不是 PHP...
你可能会误认为windows操作系统中chdir
等于windows chdir
( cd
) 。但事实并非如此。
但是,这不应该给您带来任何问题,因为 PHP 和 shell 可以轻松地协同工作:
chdir(rtrim(`cd c:\win*\system* & cd`));
echo getcwd();
示例输出:
C:\WINDOWS\system
如果你知道什么命令是做什么的,你可以很容易地解决这个问题。