ldap_read
(PHP 4, PHP 5, PHP 7)
ldap_read — エントリを読み込む
説明
ldap_read
( resource $link_identifier
, string $base_dn
, string $filter
[, array $attributes
= array("*")
[, int $attrsonly
= 0
[, int $sizelimit
= -1
[, int $timelimit
= -1
[, int $deref
= LDAP_DEREF_NEVER
[, array $serverctrls
= array()
]]]]]] ) : resource
指定したフィルタ filter
を使用し、スコープ LDAP_SCOPE_BASE
でディレクトリを検索します。これは、
ディレクトリからエントリを読み込むことと同じ意味です。
パラメータ
link_identifier
ldap_connect() が返す LDAP リンク ID。
base_dn
ディレクトリのベース DN。
filter
空のフィルタは指定できません。 このエントリに関する全ての情報を完全に取得したい場合は、
objectClass=*
というフィルタを使用してください。 ディレクトリサーバーで使用されるエントリの型が分かっている場合、objectClass=inetOrgPerson
のように適切なフィルタを使用することができます。attributes
必要な属性を、 array("mail", "sn", "cn") のような通常の PHP 文字列配列で保持します。 "dn" は要求された属性の型によらず常に返されることに注意してください。
このパラメータを使用すると、デフォルトの動作よりもかなり効率的になります (デフォルトでは、すべての属性とその値を返します)。 したがって、これを使用することを推奨します。
attrsonly
属性の型のみを取得したい場合は 1 を設定します。 属性の型および値の両方を取得したい場合は 0 を設定します (これがデフォルトの挙動です)。
sizelimit
取得するエントリ数の制限を設定します。 0 は無制限であることを表します。
注意:
このパラメータは、サーバー側で事前に設定されている sizelimit を上書きすることはできません。それ以下の値を指定することはできます。
ディレクトリサーバーのホストによっては、 事前に設定された数以上のエントリを返さないようになっているものもあります。 この場合、サーバーでは、それが結果セットのすべてではないことを通知します。 このパラメータでエントリ数を制限した場合にも、同じことが起こります。
timelimit
検索に要する最大秒数を設定します。 これを 0 にすると無制限であることを表します。
注意:
このパラメータは、サーバー側で事前に設定されている timelimit を上書きすることはできません。それ以下の値を指定することはできます。
deref
検索時のエイリアスの扱いについて指定します。 以下のいずれかとなります。
-
LDAP_DEREF_NEVER
- (デフォルト) エイリアスは参照されません。 -
LDAP_DEREF_SEARCHING
- エイリアスを参照しますが、検索のベースオブジェクト上にいるときは参照しません。 -
LDAP_DEREF_FINDING
- エイリアスの参照は、ベースオブジェクト上にいて検索中でない場合に行われます。 -
LDAP_DEREF_ALWAYS
- エイリアスを常に参照します。 always.
-
serverctrls
リクエストと一緒に送信する LDAP コントロール の配列
返り値
検索結果 ID を返します。エラーの場合は、false
を返します。