函数名:ldap_add_ext()
适用版本:PHP 7.0.0 及以上版本
用法:ldap_add_ext() 函数用于向LDAP目录服务器添加新条目。它是 ldap_add() 函数的扩展版本,支持更多的参数选项。
语法: bool ldap_add_ext(resource $link_identifier, string $dn, array $entry, array $serverctrls = null)
参数:
- $link_identifier:LDAP 连接标识符,通过 ldap_connect() 或 ldap_bind() 函数获得。
- $dn:要添加条目的区分名(Distinguished Name)。
- $entry:要添加的条目的属性数组。数组的键是属性名,值是属性值。每个属性可以有多个值。
- $serverctrls(可选):要添加的服务器控件数组。
返回值:成功时返回 true,失败时返回 false。
示例:
// 连接到LDAP服务器
$ldapconn = ldap_connect("ldap.example.com");
if ($ldapconn) {
// 绑定到LDAP服务器
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password");
if ($ldapbind) {
// 准备要添加的条目
$entry = [
"cn" => ["John Doe"],
"sn" => ["Doe"],
"mail" => ["johndoe@example.com"],
"objectClass" => ["top", "person", "organizationalPerson", "inetOrgPerson"]
];
// 添加条目
$result = ldap_add_ext($ldapconn, "uid=johndoe,ou=users,dc=example,dc=com", $entry);
if ($result) {
echo "条目添加成功!";
} else {
echo "条目添加失败!";
}
} else {
echo "LDAP绑定失败!";
}
// 关闭LDAP连接
ldap_close($ldapconn);
} else {
echo "无法连接到LDAP服务器!";
}
注意事项:
- 在使用 ldap_add_ext() 函数之前,必须先建立与LDAP服务器的连接,并通过 ldap_bind() 函数进行绑定。
- 要添加的条目的属性数组中,每个属性可以有多个值,因此需要使用数组来表示。
- 要添加的条目的区分名(DN)必须是唯一的,否则会导致添加失败。
- 在示例中,我们假设已经存在一个名为 "uid=johndoe,ou=users,dc=example,dc=com" 的父级条目。