関数・クラス解説

ldap_modify_batch

version:PHP 5.4 >= 5.4.26, PHP 5.5 >= 5. (公式)

LDAP エントリの変更をまとめて実行する

公式リファレンス

書式

ldap_modify_batch ( resource $link_identifier , string $dn , array $entry [, array $serverctrls = array() ] ) : bool

説明

LDAP ディレクトリに存在する既存のエントリを変更します。 実行する変更の詳細な仕様を指定できます。

パラメータ

link_identifier
ldap_connect() で返された、LDAP リンクの識別子。
dn
LDAP エンティティの識別名。
entry
行う変更を指定する配列。 この配列の個々のエントリは、2つまたは3つのキーからなる連想配列です: attrib は、変更する属性の名前に対応します。 modtype は、行う変更のタイプに対応し、 (変更のタイプによっては) values が変更に関連した属性値の配列に対応します。 modtype で有効な値は以下のとおりです:
LDAP_MODIFY_BATCH_ADD
values で指定された値が、 (追加の値として) attrib で指定された属性に追加されます。
LDAP_MODIFY_BATCH_REMOVE
values で指定された値が、 attrib で指定された属性から削除されます。 values に含まれていない属性の値は、そのまま残されます。
LDAP_MODIFY_BATCH_REMOVE_ALL
attrib で指定された属性名から、全ての値を削除します。 values エントリを指定してはいけません。
LDAP_MODIFY_BATCH_REPLACE
attrib の属性名の現在の全ての値が、 values で指定された値で置き換えられます。
以下の点に注意してください: attrib の値は文字列でなければいけません。 values の値は、文字列の配列でなければいけません。 そして、 modtype の値は、上で示した LDAP_MODIFY_BATCH_* 定数のうちのひとつでなければいけません。
serverctrls
リクエストと一緒に送信する LDAP コントロール の配列

返値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

更新履歴

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

サンプル

例1 contact に電話番号を追加する

$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com"; $modifs = [     [         "attrib"  => "telephoneNumber",         "modtype" => LDAP_MODIFY_BATCH_ADD,         "values"  => ["+1 555 555 1717"],     ], ]; ldap_modify_batch($connection, $dn, $modifs);

例2 ユーザーの名前を変更する

$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com"; $modifs = [     [         "attrib"  => "sn",         "modtype" => LDAP_MODIFY_BATCH_REPLACE,         "values"  => ["Smith-Jones"],     ],     [         "attrib"  => "givenName",         "modtype" => LDAP_MODIFY_BATCH_REPLACE,         "values"  => ["Jack"],     ], ]; ldap_modify_batch($connection, $dn, $modifs); ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);

例3 ユーザーにEメールアドレスを2つ追加する

$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com"; $modifs = [     [         "attrib"  => "mail",         "modtype" => LDAP_MODIFY_BATCH_ADD,         "values"  => [             "jack.smith@example.com",             "jack.smith-jones@example.com",         ],     ], ]; ldap_modify_batch($connection, $dn, $modifs);

例4 ユーザーのパスワードを変更する

$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com"; $modifs = [     [         "attrib"  => "userPassword",         "modtype" => LDAP_MODIFY_BATCH_REMOVE,         "values"  => ["Tr0ub4dor&3"],     ],     [         "attrib"  => "userPassword",         "modtype" => LDAP_MODIFY_BATCH_ADD,         "values"  => ["correct horse battery staple"],     ], ]; ldap_modify_batch($connection, $dn, $modifs);

例5 ユーザーのパスワードを変更する(Active Directory)

<?phpfunction adifyPw($pw){    return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');}$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";$modifs = [    [        "attrib"  => "unicodePwd",        "modtype" => LDAP_MODIFY_BATCH_REMOVE,        "values"  => [adifyPw("Tr0ub4dor&3")],    ],    [        "attrib"  => "unicodePwd",        "modtype" => LDAP_MODIFY_BATCH_ADD,        "values"  => [adifyPw("correct horse battery staple")],    ],];ldap_modify_batch($connection, $dn, $modifs);

ワード検索


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

関数名アルファベット別

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用の拡張モジュール