我目前正在使用安装了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正在检查它应该在的文件夹的OUTSIDE。我尝试启用“安全模式”并重新启动WAMP但它仍然不起作用,我也禁用“公开PHP”也试图阻止它。它无法正常工作,PHP将自由检查我的电脑。
我怎么能阻止这个?
答案 0 :(得分:0)
PHP是一个服务器端进程,可以访问主机的文件系统。您指定的任何路径都是文件系统路径。
最好构建一个相对于PHP文件的路径。例如,假设包含您的代码的文件位于文档根目录(包含prop
文件夹的同一文件夹中)
$path = realpath(__DIR__ . '/prop/sys/config.txt');
if (file_exists($path)) {
// and so on