为什么会这样字符串在PHP返回false时的真实路径()'d?(Why would this

2019-09-29 15:25发布

这里是我的字符串

$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)

没有人知道为什么会回来给我假?

Answer 1:

喂, 是谁提供的家伙手动链接在你的最后一个问题 ! 不要只是链接它,理解它。 :)

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



Answer 2:

您可以通过添加查出

print_r(error_get_last());

您的发言之后。 可能发生的错误的描述手册页 。



Answer 3:

真实路径上的php.net定义就让我们来看看这显示音符,这可能是相关的:

注:行书必须在层次中的所有目录的可执行权限,否则的realpath()将返回FALSE。



文章来源: Why would this string be returning false in PHP when realpath()'d?