查詢

ldap_list()函式—用法及示例

「 在LDAP目錄中執行搜尋操作,並返回匹配搜尋條件的所有條目的結果集 」


函式名稱:ldap_list()

適用版本:PHP 4, PHP 5, PHP 7

用法:ldap_list()函式用於在LDAP目錄中執行搜尋操作,並返回匹配搜尋條件的所有條目的結果集。

語法:resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

引數:

  • $link_identifier:LDAP連線識別符號,透過ldap_connect()函式獲取。
  • $base_dn:搜尋的基準DN(Distinguished Name),表示從哪個節點開始搜尋。
  • $filter:搜尋的過濾器,用於指定搜尋條件。
  • $attributes(可選):返回的屬性列表,如果未指定,則返回所有屬性。
  • $attrsonly(可選):指定是否只返回屬性名,不返回屬性值。預設為0,表示同時返回屬性名和屬性值。
  • $sizelimit(可選):指定返回結果的最大數目。預設為0,表示返回所有匹配的結果。
  • $timelimit(可選):指定搜尋操作的超時時間(單位:秒)。預設為0,表示無限制。
  • $deref(可選):指定搜尋操作時如何處理別名引用。可選值包括LDAP_DEREF_NEVER(不處理)、LDAP_DEREF_SEARCHING(搜尋時處理)、LDAP_DEREF_FINDING(查詢時處理)、LDAP_DEREF_ALWAYS(總是處理)。

返回值:成功時返回搜尋結果的資源識別符號(result identifier),失敗時返回false。

示例:

<?php
$ldapconn = ldap_connect("ldap.example.com") or die("無法連線到LDAP伺服器");

ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password") or die("無法繫結到LDAP伺服器");

$basedn = "ou=users,dc=example,dc=com";
$filter = "(objectclass=person)";
$attributes = array("cn", "email");

$search = ldap_list($ldapconn, $basedn, $filter, $attributes);

if ($search) {
    $entries = ldap_get_entries($ldapconn, $search);
    for ($i = 0; $i < $entries["count"]; $i++) {
        echo "姓名: " . $entries[$i]["cn"][0] . "<br>";
        echo "郵箱: " . $entries[$i]["email"][0] . "<br><br>";
    }
} else {
    echo "搜尋失敗";
}

ldap_close($ldapconn);
?>

以上示例演示瞭如何使用ldap_list()函式搜尋LDAP目錄中的人員條目,並返回姓名和郵箱屬性。首先,透過ldap_connect()函式建立到LDAP伺服器的連線。然後,使用ldap_bind()函式進行身份驗證。接下來,指定搜尋的基準DN、搜尋過濾器和返回的屬性列表,並呼叫ldap_list()函式執行搜尋。如果搜尋成功,透過ldap_get_entries()函式獲取搜尋結果的條目,並遍歷輸出每個條目的姓名和郵箱屬性。最後,使用ldap_close()函式關閉LDAP連線。

請注意,此示例僅供參考,實際使用時需要根據LDAP伺服器的配置和資料結構進行相應的調整。

補充糾錯
上一個函式: ldap_modify()函式
下一個函式: Locale::lookup()函式
熱門PHP函式
分享連結