函式名: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" => ["[email protected]"],
"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" 的父級條目。