【发布时间】:2012-01-17 16:20:01
【问题描述】:
我遇到了 file_exists 返回 false 而 is_file 返回 true 的问题。
echo(getmygid()." = gid\n"); //501
echo(getmyuid()." = uid\n"); //501
echo(posix_getgid()." = pgid\n"); //501
echo(posix_getuid()." = puid\n"); //501
var_dump(file_exists("/home/www/public_html/")); //bool(true)
var_dump(file_exists("/home/www/public_html/index.html")); //bool(false)
var_dump(is_file("/home/www/public_html/index.html")); //bool(true)
var_dump(stat("/home/www/public_html/index.php"));
输出是:
501 = gid
501 = uid
501 = pgid
501 = puid
bool(true)
bool(false)
bool(true)
array(26) {
[0]=>
int(51712)
[1]=>
int(58055)
[2]=>
int(33197)
[3]=>
int(1)
[4]=>
int(501)
[5]=>
int(501)
[6]=>
int(0)
[7]=>
int(473)
[8]=>
int(1323573973)
[9]=>
int(1323573973)
[10]=>
int(1323574039)
[11]=>
int(4096)
[12]=>
int(8)
["dev"]=>
int(51712)
["ino"]=>
int(58055)
["mode"]=>
int(33197)
["nlink"]=>
int(1)
["uid"]=>
int(501)
["gid"]=>
int(501)
["rdev"]=>
int(0)
["size"]=>
int(473)
["atime"]=>
int(1323573973)
["mtime"]=>
int(1323573973)
["ctime"]=>
int(1323574039)
["blksize"]=>
int(4096)
["blocks"]=>
int(8)
}
我想我在配置中做错了什么,但还没有完全弄清楚它是什么。
更令人兴奋的是,尽管 file_exists 不起作用,fread(fopen('/home/www/public_html/index.html','r'), filesize('/home/www/public_html/index.html')) 确实返回了文件的内容。
【问题讨论】:
-
您在错误的文件中发布了统计信息,您能更正吗?
-
所有这些目录(home、www、public_html)都为这个脚本启用了读取权限?它们都是目录,而不是符号链接吗?
-
是的。我的错。刚刚解决了这个问题。这是空的。和 655 模式。
-
没有符号链接。主目录是 766 www 是 drwxrwxr-x public_html 是 drw-r-xr-x
-
stat是index.php的,是php还是html?
标签: php file-exists