ldap_control_paged_result

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_resultLDAP ページネーション制御情報を送信する

警告

この関数は PHP 7.4.0 以降で 推奨されなくなり、PHP 8.0.0 以降は 削除されています。 代替として、ldap_search() 関数の controls 引数を使うべきです。 詳細は LDAP コントロール も参照して下さい。

説明

ldap_control_paged_result(
    resource $link,
    int $pagesize,
    bool $iscritical = false,
    string $cookie = ""
): bool

LDAP ページネーションを有効にするため、ページネーション制御情報 (ページサイズやクッキーなど) を送信します。

パラメータ

link

ldap_connect() が返す LDAP リソース。

pagesize

ページあたりのエントリ数。

iscritical

ページネーションを必須にするかどうか。 true にすると、もしサーバーがページネーションに対応していなければ 検索結果を返しません。

cookie

サーバーから送られる opaque structure (ldap_control_paged_result_response())。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 この関数は削除されました。
7.4.0 この関数は非推奨になりました。

次の例は、検索結果の最初のページを取得します。 ページあたり 1 エントリになります。

例1 LDAP ページネーション

<?php
     
// $ds is a valid link identifier (see ldap_connect)
     
ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);

     
$dn        'ou=example,dc=org';
     
$filter    '(|(sn=Doe*)(givenname=John*))';
     
$justthese = array('ou''sn''givenname''mail');

     
// enable pagination with a page size of 1.
     
ldap_control_paged_result($ds1);

     
$sr ldap_search($ds$dn$filter$justthese);

     
$info ldap_get_entries($ds$sr);

     echo 
$info['count'] . ' entries returned' PHP_EOL;

この例は、すべての結果を取得します。 ページあたり 100 エントリとなります。

例2 LDAP ページネーション

<?php
     
// $ds is a valid link identifier (see ldap_connect)
     
ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);

     
$dn        'ou=example,dc=org';
     
$filter    '(|(sn=Doe*)(givenname=John*))';
     
$justthese = array('ou''sn''givenname''mail');

     
// enable pagination with a page size of 100.
     
$pageSize 100;

     
$cookie '';
     do {
         
ldap_control_paged_result($ds$pageSizetrue$cookie);

         
$result  ldap_search($ds$dn$filter$justthese);
         
$entries ldap_get_entries($ds$result);
             
         foreach (
$entries as $e) {
             echo 
$e['dn'] . PHP_EOL;
         }

         
ldap_control_paged_result_response($ds$result$cookie);
       
     } while(
$cookie !== null && $cookie != '');

注意

注意:

ページネーション制御は、LDAPv3 プロトコルの機能です。

関連キーワード:  ページネーション, 制御, 情報, 送信, control, paged, result, 関数, ページ, エントリ