Be aware! Operation not allowed on non-leaf.
(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_delete — ディレクトリからエントリを削除する
指定したエントリを LDAP ディレクトリから削除します。
ldap
ldap_connect() が返す LDAP\Connection クラスのインスタンス。
dn
LDAP エンティティの識別名。
controls
リクエストと一緒に送信する LDAP コントロール の配列
バージョン | 説明 |
---|---|
8.1.0 |
引数 ldap は、LDAP\Connection
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な ldap link リソース を期待していました。
|
8.0.0 |
controls は、nullable になりました。
これより前のバージョンでは、デフォルト値が [] でした。
|
7.3.0 |
controls のサポートが追加されました。
|
Useful function to delete dn entries recursivelybool myldap_delete ( resource ds, string dn, bool recursive)Returns TRUE on success, FALSE on failurerecursive is by default FALSE (same behaviour as ldap_delete)function myldap_delete($ds,$dn,$recursive=false){ if($recursive == false){ return(ldap_delete($ds,$dn)); }else{ //searching for sub entries $sr=ldap_list($ds,$dn,"ObjectClass=*",array("")); $info = ldap_get_entries($ds, $sr); for($i=0;$i<$info['count'];$i++){ //deleting recursively sub entries $result=myldap_delete($ds,$info[$i]['dn'],$recursive); if(!$result){ //return result code, if delete fails return($result); } } return(ldap_delete($ds,$dn)); }}