当realpath()'d?为什么这个字符串在PHP中返回false?

时间:2010-02-26 01:26:56

标签: php path directory-structure

这是我的字符串

$newPath = '/~new/assets/js/../packages/prettyphoto/js/jquery.prettyPhoto.js';

现在检查此输出

var_dump($newPath); // string(64) "/~new/assets/js/../packages/prettyphoto/js/jquery.prettyPhoto.js"
var_dump(realpath($newPath)); // bool(false)

有谁知道为什么这会对我失去假意?

3 个答案:

答案 0 :(得分:3)

嘿,是那个在manual link中提供last question的人!不要只是链接它,阅读它。 :)

  

realpath()在失败时返回FALSE,例如如果该文件不存在。

答案 1 :(得分:2)

您可以通过添加

找到答案
print_r(error_get_last());

发表声明后。可能的错误在man page

中描述

答案 2 :(得分:2)

快速浏览php.net定义的realpath显示了这个注释,这可能是相关的:

  

注意:正在运行的脚本必须对层次结构中的所有目录具有可执行权限,否则 realpath()将返回 FALSE