我遇到了一个严重的问题,我的PHP 5.3.0的WAMP安装没有找到我的计算机中存在的文件。有人对这个有了解吗?可能是PHP Bug? 任何帮助将不胜感激。
以下是创建文件的变量:
$baseNewsUrl = "C:/reviews/reviews/$platform/$fullname";
以下是获取内容的代码:
if(is_file($baseNewsUrl)){
$contents = file_get_contents($baseNewsUrl);
} else {
echo "File not found. " . "\r\n";
continue;
}
以下是$baseNewsUrl
的输出:C:/reviews/reviews/GBA/r20107_GBA.htm
该文件确实存在。
答案 0 :(得分:0)
检查导致文件的整个路径是否由PHP正在运行的用户读取(如果您使用的是IIS,这可能类似于“网络服务”,尽管我对Windows上的PHP不是特别熟悉) 。另外,检查是否设置了INI指令“open_basedir”或者“safe_mode” - 这些将给PHP自行限制哪些文件可以访问。
答案 1 :(得分:0)
对变量执行var_dump(不是回显)。
var_dump($baseNewsUrl);
并查看实际内容。如果您在浏览器中执行此操作以确保没有空标记(或其他浏览器呈现不可见)字符,那么您可能在其中有一些不可见的垃圾字符阻止Windows。
如果没有显示任何内容,请删除is_file
检查并尝试使用file_get_contents(或任何与文件相关的函数)打开文件,并使用var_dump它的内容。您将打开该文件,或者PHP会向您的浏览器或错误日志发出错误/警告/通知,告知您无法打开文件的原因。
答案 2 :(得分:0)
我要说这个,这很可能不是你的问题,但对我来说这是一个反复出现的问题。如果您在计算机上使用Skype,则与WAMP存在一些已知的兼容性问题。它导致WAMP不稳定,无法正确加载文件......一切。
答案 3 :(得分:0)
这是由于Windows Vista和WAMP。
答案 4 :(得分:0)
$baseNewsUrl = "C:\\reviews\\reviews\\$platform\\$fullname";