函数: ldap_parse_exop()
适用版本: PHP 5, PHP 7
用法: ldap_parse_exop(resource $link_identifier, resource $result, string &$retdata, string &$retoid [, string &$retoid [, string &$retdata [, int &$retcode]]]): bool
说明: ldap_parse_exop() 函数用于解析扩展操作(extended operation)的结果。
参数:
- $link_identifier: LDAP 连接标识符,由 ldap_connect() 或 ldap_bind() 返回。
- $result: LDAP 扩展操作的结果。
- &$retdata: 用于存储返回数据的变量。
- &$retoid: 用于存储返回操作标识符的变量。
- &$retcode: 可选参数,用于存储返回操作代码的变量。
返回值: 如果解析成功,则返回 true,否则返回 false。
示例:
$ldapconn = ldap_connect("ldap.example.com"); // 建立 LDAP 连接
if ($ldapconn) {
// 绑定用户
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password");
if ($ldapbind) {
$result = ldap_exop($ldapconn, "1.3.6.1.4.1.4203.1.11.3"); // 执行扩展操作
if ($result) {
$retdata = "";
$retoid = "";
// 解析扩展操作结果
if (ldap_parse_exop($ldapconn, $result, $retdata, $retoid)) {
echo "解析成功:\n";
echo "返回数据: " . $retdata . "\n";
echo "操作标识符: " . $retoid . "\n";
} else {
echo "解析失败\n";
}
} else {
echo "扩展操作执行失败\n";
}
} else {
echo "LDAP 绑定失败\n";
}
ldap_close($ldapconn); // 关闭 LDAP 连接
} else {
echo "无法连接到 LDAP 服务器\n";
}
以上示例演示了如何使用 ldap_parse_exop() 函数来解析执行扩展操作的结果。首先,我们建立一个 LDAP 连接并绑定用户。然后,我们执行一个扩展操作,并将其结果传递给 ldap_parse_exop() 函数进行解析。如果解析成功,我们将输出返回的数据和操作标识符。如果解析失败或扩展操作执行失败,将相应地输出错误信息。最后,关闭 LDAP 连接。
请注意,示例中的操作标识符 "1.3.6.1.4.1.4203.1.11.3" 是一个示例值,你需要根据你的实际需求替换为正确的操作标识符。