関数・クラス解説

ldap_exop

version:PHP 7 >= 7.2.0 (公式)

拡張されたオペレーションを実行する

公式リファレンス

書式

ldap_exop ( resource $link , string $reqoid [, string $reqdata = NULL [, array $serverctrls = NULL [, string &$retdata [, string &$retoid ]]]] ) : mixed

説明

指定された link で オペレーションの OID を reqoid で指定し、 データを reqdata で指定して拡張されたオペレーションを実行します。

パラメータ

link
ldap_connect() で返された、LDAP リンク識別子。
reqoid
拡張オペレーションリクエストのOID。 LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD, LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN のいずれか、 または送信したい操作のOIDを示す文字列。
reqdata
拡張オペレーションリクエストのデータ。 LDAP_EXOP_WHO_AM_I のように、 操作によってはNULLで問題ない場合もありますし、 BERエンコードが必要な場合もあります。
serverctrls
リクエストと一緒に送信する LDAP コントロール の配列
retdata
この値を指定すると、拡張オペレーションレスポンスの値で埋められます。 指定しなかった場合に後でこのデータを取得するには、 結果オブジェクトに対して ldap_parse_exop を使います。
retoid
この値を指定すると、レスポンスのOIDで埋められます。 これは通常、リクエストのOIDと等しい値です。

返値

retdata を指定した場合、成功時に TRUE を返し、エラー時に FALSE を返します。 retdata を指定しなかった場合、結果識別子を返し、 エラー時に FALSE を返します。

更新履歴

バージョン 説明
7.3 serverctrls のサポートが追加されました。

サンプル

例1 Whoami 拡張オペレーション

$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host if ($ds) {     // bind with appropriate dn to give update access     $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");     if (!$bind) {       echo "Unable to bind to LDAP server";       exit;     }     // Call WHOAMI EXOP     $r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);     // Parse the result object     ldap_parse_exop($ds, $r, $retdata);     // Output: string(31) "dn:cn=root, o=My Company, c=US"     var_dump($retdata);     // Same thing using $retdata parameter     $success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);     if ($success) {       var_dump($retdata);     }     ldap_close($ds); } else {     echo "Unable to connect to LDAP server"; }

参考

  • ldap_parse_result() - 結果から情報を展開する
  • ldap_parse_exop() - LDAP拡張オペレーションの結果オブジェクトをパースする
  • ldap_exop_whoami() - WHOAMI 拡張オペレーションのヘルパ
  • ldap_exop_refresh() - Refresh 拡張操作のヘルパ
  • ldap_exop_passwd() - PASSWD 拡張オペレーションのヘルパ
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール