如何确定文件是否仅使用PHP函数标记为隐藏?这尤其适用于Windows和Linux。
答案 0 :(得分:2)
在UNIX系统中,如果文件的名称以点(.
)开头,则会隐藏该文件。
在Windows中,如果文件具有隐藏属性,则会隐藏该文件。
您可以创建一个检查Windows下属性的函数,并检查符合POSIX标准的系统下的文件名:
function file_hidden($file) {
if (!file_exists($file))
return false;
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$attributes = shell_exec('attrib ' . escapeshellarg($file));
// Just get the attributes
$attributes = substr($attributes, 0, 12);
if ($attributes === 'File not fou')
return false;
// Return if hidden
return (strpos($attributes, 'H') !== false);
} else {
$basename = basename($file);
return ($basename[0] === '.');
}
}