(PHP 4, PHP 5)
posix_getgrgid — Liefert zu einer Gruppen-ID Informationen über diese Gruppe
Gibt Informationen über die Gruppe mit der angegebenen ID zurück.
Die Gruppen-ID
Die Elemente des zurückgegebenen Arrays sind:
Element | Beschreibung |
---|---|
name | Das name-Element enthält den Namen der Gruppe. Es handelt sich dabei nicht um den wirklichen, kompletten Namen, sondern um einen kurzen "Bezeichner" der Gruppe mit normalerweise weniger als 16 Zeichen. |
passwd | Das passwd-Element enthält das Passwort der Gruppe in verschlüsselter Form. Häufig, zum Beispiel wenn auf einem System "shadow"-Passwörter verwendet werden, wird stattdessen ein Sternchen zurückgegeben. |
gid | Die Gruppen-ID - sollte dieselbe sein wie der Parameter gid, der beim Aufruf der Funktion verwendet wurde und ist von daher redundant. |
members | Besteht aus einem Array von Zeichenketten aller Gruppenmitglieder. |
Version | Beschreibung |
---|---|
4.2.0 | Vor dieser Version war members nur eine Ganzzahl, die die Anzahl der Gruppenmitglieder angab, und die Namen der Mitglieder wurden mit numerischen Indizes zurückgegeben. |
Beispiel #1 Beispiel zur Verwendung von posix_getgrgid()
<?php
$gruppenid = posix_getegid();
$gruppeninfo = posix_getgrgid($gruppenid);
print_r($gruppeninfo);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Array ( [name] => toons [passwd] => x [members] => Array ( [0] => tom [1] => jerry ) [gid] => 42 )
When posix_getgrgid() fails (e.g. an invalid/unknown group id), it returns false.
This is except for Mac OSX on which you get an array with name "nogroup" and gid of "-1".
in php-4.3 the array returned seems to have changed.
it now returns:
["name"] group name
["passwd"] group password
["members"] group members (array of usernames)
["gid"] numeric group id
okies...
This code should be considered as an OPTION only, it works under MY set of circumstances, and that is all I intended. The below funtion will return the NAME of the GROUP if provided with the Group ID#
function RC_posix_getgrgid($gid)
{
$LocationGroup = "/etc/group"; //EDIT THIS IF YOU HAVE A DIFFERENT OS. mine = debian
$fp = fopen ("/etc/group","r");
while ($groupinfo = fscanf ($fp, "%[a-zA-Z0-9]:x:%[0-9]:%[a-zA-Z0-9]\n"))
{
list ($name, $groupID, $nfi) = $groupinfo;
if ($groupID == $gid)
{
$returnval = $name;
}
}
fclose($fp);
if($returnval) { return $returnval; } else { return 0; }
}
Returns an array containing the elements of the group structure. The array has both numeric indices, each of which is a string naming one member of the group, and named string indices. The array elements are:
$_["name"] string groupname (users)
$_["gid"] integer gidnumber (e.g. 0 for wheel/root)
$_["members"] int number of users in group
$_[0]..$_[n] string usernames in the group