関数・クラス解説
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 で指定された値で置き換えられます。
- 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);
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール