封装了一个函数检测文件是否具有执行权限, 全部代码如下
<?phpfunction testFile($file)
{
   if(!file_exists($file))
{
   echo '文件不存在';
}
else
{
echo '文件的类型是'.filetype($file);
} if(is_executable($file))
{
echo '具有可执行权限!';
}
}
testFile('test.txt');尝试了在win admin权限, Linux下的0777权限, 均无法正常提示 具有可执行权限! 只会提示文件类型, 这是为何。 困扰

解决方案 »

  1.   

    再说你
        if(is_executable($file))
        {
            echo '具有可执行权限!';
        }
    并无 else 分支,所以不可执行也不会有输出
      

  2.   


    这个$file, 本身是具有可执行权限的, linux下的我已经给了0777 ,但是依然没有输出True里的内容。 
      

  3.   


    正解,is_executable() 是判断文件是否可以执行,类似.exe等可执行文件才能返回正确结果,并不是判断是否具有可执行权限
      

  4.   

    Note: The results of this function are cached. See clearstatcache() for more details.
    结果会被缓存,先用clearstatcache()再试一下