函数:ldap_count_entries()

2004年12月01日 11:37 查看7380次 作者:   【

ldap_count_entries

搜寻结果的数目。

语法: int ldap_count_entries(int handle, int result_identifier);

返回值: 整数

函数种类: 网络系统

内容说明

本函数用来取得搜寻的结果数目。参数 handle 为打开 LDAD 服务器的代号。参数 result_identifier 为 ldap_search() 所返回的搜寻代号。执行若无错误则返回寻找到的数目,发生错误则返回 false。


LDAP (Lightweight Directory Access Protocol) 是一种轻量的目录存取协议,提供客户从各个角落连接到目录服务器中。在 RFC 1777 及 RFC 1778 中对 LDAP 有较深入的描述,亦可参考 Netscape 站上有关 LDAP 方面的资料。
在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。

<?php
// 本例使用到 connect, bind, search, interpret search
// result, close connection 等等 LDAP 的功能。
echo "<h3>LDAP 搜寻测试</h3>";
echo "连接中 ...";
$ds=ldap_connect("localhost");  // 先连上有效的 LDAP 服务器
echo "连上 ".$ds."<p>";

if ($ds) {
    echo "Binding ...";
    $r=ldap_bind($ds);          // 匿名的 bind,为只读属性
    echo "Bind 返回 ".$r."<p>";
    echo "Searching for (sn=S*) ...";  // 找寻 S 开头的姓氏
    $sr=ldap_search($ds,"o=My Company, c=US", "sn=S*"); 
    echo "Search 返回 ".$sr."<p>";
    echo "S 开头的姓氏有 ".ldap_count_entries($ds,$sr)." 个<p>";
    echo "取回姓氏资料 ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "资料返回 ".$info["count"]." 笔:<p>";
    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn 为: ". $info[$i]["dn"] ."<br>";
        echo "cn 为: ". $info[$i]["cn"][0] ."<br>";
        echo "email 为: ". $info[$i]["mail"][0] ."<p>";
    }
    echo "关闭链接";
    ldap_close($ds);
} else {
    echo "<h4>无法连接到 LDAP 服务器</h4>";
}
?>

 

责任编辑:rongsijing

给文章打分...

平均分:2.9(7 次)

-5 -4 -3 -2 -1 0 1 2 3 4 5
0

顶一下

发表我的见解...

  • 您的大名: 留空为匿名
  • 您的主页:
  • 您的邮箱: