函数名:ldap_modify()
适用版本:PHP 4, PHP 5, PHP 7
用法:ldap_modify()函数用于修改LDAP目录中的条目。它通过LDAP协议与LDAP服务器进行通信,将指定的修改应用于目标条目。
语法:bool ldap_modify ( resource $link_identifier , string $dn , array $entry )
参数:
- $link_identifier:LDAP连接标识符,由ldap_connect()函数返回。
- $dn:要修改的目标条目的唯一名称(Distinguished Name)。
- $entry:包含要应用于目标条目的修改的数组。数组中的每个元素都是一个关联数组,其中包含修改操作的类型(add、replace或delete)和相应的属性名和值。
返回值:如果成功修改条目,则返回true;否则返回false。
示例:
$ldapconn = ldap_connect("ldap.example.com") or die("无法连接至LDAP服务器");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); // 设置LDAP协议版本
if ($ldapconn) {
// 绑定到LDAP服务器(使用合适的用户名和密码)
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password");
if ($ldapbind) {
// 定义要修改的条目的DN
$dn = "cn=John Doe,ou=users,dc=example,dc=com";
// 定义要应用的修改
$entry["givenName"] = "John";
$entry["sn"] = "Doe";
$entry["mail"] = "john.doe@example.com";
// 执行修改操作
$result = ldap_modify($ldapconn, $dn, $entry);
if ($result) {
echo "条目修改成功";
} else {
echo "条目修改失败";
}
} else {
echo "LDAP绑定失败";
}
}
// 关闭LDAP连接
ldap_close($ldapconn);
此示例首先通过ldap_connect()函数建立与LDAP服务器的连接。然后使用ldap_bind()函数绑定到服务器,以便进行修改操作。接下来,定义要修改的目标条目的DN,并在$entry数组中指定要应用的修改。最后,使用ldap_modify()函数执行修改操作,并根据返回值判断修改是否成功。