unix permission converter
| From: | Raphael Pirker | Date: | Mon, 20 Aug 2001 04:05:22 +0000 |
| Subject: | unix permission converter | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-63449@lists.php.net to get a copy of this message | ||
Hi,
I have written a "Permission Converter" which converts unix permissions (the
ones we know from CHMOD) into a "-" delimited string of numbers. I also made
it that it supports one more level (unix only has 3 different types of
permissions, (r,w,x) while mine can handle a fourth one. Since I'm just a
newbie to PHP, I was wondering whether there is a shorter way of achieving
the same thing. Here is my code:
// $num is the number (range: 1-15)
$done = "";
$result = "";
while ($done != 1) {
if ($num > 8) {
$num = $num - 8;
$result = "8-";
} elseif ($num == 8) {
$result = 8;
$done = 1;
} elseif ($num > 4) {
$num = $num - 4;
$result .= "4-";
} elseif ($num == 4) {
$result .= 4;
$done = 1;
} elseif ($num > 2) {
$result .= "2-1";
$done = 1;
} elseif ($num == 2) {
$result .= "2-";
$done = 1;
} else {
$result .= "1";
$done = 1;
}
}
if ((strrpos($result, "-") == strlen($result)-1) && strlen($result) > 1) {
$result = strrev($result);
$result = substr($result, 1);
$result = strrev($result);
}
echo $result;
TIA,
Raphael