Voting

: max(six, nine)?
(Example: nine)

The Note You're Voting On

schursin at gmail[deleteme] dot com
18 years ago
code:

<?php

function permission($filename)
{
$perms = fileperms($filename);

if ((
$perms & 0xC000) == 0xC000) { $info = 's'; }
elseif ((
$perms & 0xA000) == 0xA000) { $info = 'l'; }
elseif ((
$perms & 0x8000) == 0x8000) { $info = '-'; }
elseif ((
$perms & 0x6000) == 0x6000) { $info = 'b'; }
elseif ((
$perms & 0x4000) == 0x4000) { $info = 'd'; }
elseif ((
$perms & 0x2000) == 0x2000) { $info = 'c'; }
elseif ((
$perms & 0x1000) == 0x1000) { $info = 'p'; }
else {
$info = 'u'; }

// владелец
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));

// группа
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));

// все
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));

return
$info;
}

function
dir_list($dir)
{
if (
$dir[strlen($dir)-1] != '/') $dir .= '/';

if (!
is_dir($dir)) return array();

$dir_handle = opendir($dir);
$dir_objects = array();
while (
$object = readdir($dir_handle))
if (!
in_array($object, array('.','..')))
{
$filename = $dir . $object;
$file_object = array(
'name' => $object,
'size' => filesize($filename),
'perm' => permission($filename),
'type' => filetype($filename),
'time' => date("d F Y H:i:s", filemtime($filename))
);
$dir_objects[] = $file_object;
}

return
$dir_objects;
}

?>

call:

<?php

print_r
(dir_list('/path/to/you/dir/'));

?>

output sample:

Array
(
[0] => Array
(
[name] => api
[size] => 0
[perm] => drwxrwxrwx
[type] => dir
[time] => 28 May 2007 01:55:02
)

[1] => Array
(
[name] => classes
[size] => 0
[perm] => drwxrwxrwx
[type] => dir
[time] => 26 May 2007 00:56:44
)

[2] => Array
(
[name] => config.inc.php
[size] => 143
[perm] => -rw-rw-rw-
[type] => file
[time] => 26 May 2007 13:13:19
)

[3] => Array
(
[name] => index.php
[size] => 131
[perm] => -rw-rw-rw-
[type] => file
[time] => 26 May 2007 22:15:18
)

[4] => Array
(
[name] => modules
[size] => 0
[perm] => drwxrwxrwx
[type] => dir
[time] => 28 May 2007 00:47:40
)

[5] => Array
(
[name] => temp
[size] => 0
[perm] => drwxrwxrwx
[type] => dir
[time] => 28 May 2007 04:49:33
)

)

<< Back to user notes page

To Top