【发布时间】:2010-12-20 10:51:26
【问题描述】:
我遇到过 file_exists() 总是返回 false 的情况。我最近的尝试是测试它是否会为 $_SERVER["SCRIPT_FILENAME"] 返回 true,然后如果找不到它所找到的文件,则返回路径的值。
与解决问题不一定相关的路径是:/Users/joe/Workspace/720/app/webroot/index.php
我显然已经验证了该文件在那里,但我什至不确定它是如何不存在的,因为 php 正在为它提供服务。
我应该提到这是在运行 PHP 5.3.0 的 OS X Snow Leopard 的安装上。
任何想法都会很棒。
代码示例:
if (!file_exists($_SERVER["SCRIPT_FILENAME"]))
$errors[] = 'Cant find:'. $_SERVER["SCRIPT_FILENAME"];
【问题讨论】:
-
显然该功能应该可以工作,因此需要一个代码示例。
-
发布实际代码可能会有所帮助。
-
getcwd()的值是多少?$_SERVER["SCRIPT_FILENAME"]可能在不同的目录中。 -
我也有同样的问题,PHP 版本 5.2.14; getcwd() 返回“/home/me/public_html”; file_exists('/images/products/me.jpg') 返回 false; file_exists('/home/me/public_html/images/products/me.jpg') 返回真;我不知道为什么它会失败,因为在不同的页面上 file_exists('/images/products/me.jpg') 返回 true,但是使绝对路径 always 有效;即保罗的解决方案也适用于我。
标签: php macos osx-snow-leopard file-exists