1



我目前使用安装了 WAMP 服务器的 Windows 7。我试图做一个简单的PHP“文件存在”命令,但由于某种原因,它的工作方式有很大不同......这是我的代码:

if(file_exists('\prop\sys\config.txt')) {
echo 'exist';
} else {
echo 'dont exist';
}

听起来很简单,即使该文件实际存在,PHP 也会以不存在的形式返回。起初这让我感到困惑,但是当我尝试让 PHP 检查我的实际计算机上的文件时,例如:

if(file_exists('C:\Users\PeopleUser\Desktop\f.txt')) {
echo 'exist';
} else {
echo 'dont exist';
}

令人惊讶的是,它回来了!所以这意味着 WAMP 正在检查它应该在的文件夹之外。我尝试启用“安全模式”并重新启动 WAMP,但它仍然无法正常工作,我还禁用了“暴露 PHP”以尝试停止它。它不工作,PHP 将自由检查我的电脑。

我怎样才能阻止这个?

4

1 回答 1

0

PHP 是一个服务器端进程,可以访问主机的文件系统。您指定的任何路径都是文件系统路径。

你最好构建一个相对于 PHP 文件的路径。例如,假设包含您的代码的文件位于文档根目录(包含该文件夹的同一文件prop夹)

$path = realpath(__DIR__ . '/prop/sys/config.txt');

if (file_exists($path)) {
    // and so on
于 2012-12-05T05:07:48.900 回答