封装了一个函数检测文件是否具有执行权限, 全部代码如下
<?phpfunction testFile($file)
{
if(!file_exists($file))
{
echo '文件不存在';
}
else
{
echo '文件的类型是'.filetype($file);
} if(is_executable($file))
{
echo '具有可执行权限!';
}
}
testFile('test.txt');尝试了在win admin权限, Linux下的0777权限, 均无法正常提示 具有可执行权限! 只会提示文件类型, 这是为何。 困扰
<?phpfunction testFile($file)
{
if(!file_exists($file))
{
echo '文件不存在';
}
else
{
echo '文件的类型是'.filetype($file);
} if(is_executable($file))
{
echo '具有可执行权限!';
}
}
testFile('test.txt');尝试了在win admin权限, Linux下的0777权限, 均无法正常提示 具有可执行权限! 只会提示文件类型, 这是为何。 困扰
if(is_executable($file))
{
echo '具有可执行权限!';
}
并无 else 分支,所以不可执行也不会有输出
这个$file, 本身是具有可执行权限的, linux下的我已经给了0777 ,但是依然没有输出True里的内容。
正解,is_executable() 是判断文件是否可以执行,类似.exe等可执行文件才能返回正确结果,并不是判断是否具有可执行权限
结果会被缓存,先用clearstatcache()再试一下