PHP Doku:: Return an array containing the entire map - function.yp-cat.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteYP/NISYP/NIS-Funktionenyp_cat

Ein Service von Reinhard Neidl - Webprogrammierung.

YP/NIS-Funktionen

<<yp_all

yp_err_string>>

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_catReturn an array containing the entire map

Beschreibung

array yp_cat ( string $domain , string $map )

Returns all map entries.

Parameter-Liste

domain

The NIS domain name.

map

The NIS map.

Rückgabewerte

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.


3 BenutzerBeiträge:
- Beiträge aktualisieren...
Nicholas Humfrey
22.01.2007 23:15
yp_cat is lacking in PHP5 - this is a suitable (slow, forking) replacement...

<?php
    $handle
= popen( 'ypcat passwd.byname', 'r' );
    while ((
$line = fgets($handle, 1024)) !== FALSE) {
        list(
$user,$pass,$uid,$gid,$gcos,$home,$shell) = explode (':', $line);
        list(
$name,$room,$work,$home,$position)  = explode (',', $gcos);

       
## Do Stuff ##

   
}  
   
pclose( $handle );
?>

20.02.2006 12:26
I hope this will userfull to somebody:

function auth_by_nis($login,$password,$nis_domain='-d xxx_nis',$nis_host='-h xxx.it')
{
    $output = shell_exec("ypcat $nis_domain $nis_host passwd");
    $lines=split("\n",$output);
    foreach ($lines as $k=>$v)
    {
        list($login_nis,$pw_nis)=split(":",$v);
        if ($login_nis != $login)continue;
        //login trovata: ora si verifica la password
        $salt=substr( $pw_nis , 0 ,2);
        $pass_cript=crypt($password, $salt);
        if($pass_cript == $pw_nis) return 1;
        else return 0;   
    }
    return 0;
}
smchang at math dot inha dot ac dot kr
21.12.2002 15:12
result browsing code
<?php
$arraylist
= yp_cat($domain,"passwd.byname");
$key = array_keys($arraylist);
$count = count($key);
for (
$i = 0; $i < $count ; $i++ ) {
        echo
"COUNT $i  ->  ";
        echo
$arraylist[$key[$i]];
        echo
"<BR>\n";
}
?>
RESULT( Only First line )
COUNT 0 -> testuser:3jYXqr8fRm28M:500:500:PHP Test user:/home/testuser:/bin/csh

It, is in $key, is username(in example, testuser).



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)