用php操作Ldap(急!!!) 建议看一下phpldapadmin的源码。里面会有你需要知道的答案 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://cn.php.net/manual/zh/ref.ldap.php 我的代码:<?php$ldap["user"]="contacts";$ldap["password"]="backyard";$ldap["dn"]="dc=yahoo,dc=ali,dc=com";$justthese = array("ou", "sn", "givenname", "mail");$ldap["search"]="(cn=s*)";if($ldap["con"] = ldap_connect("yahoo.ali.com")){echo "success!";if(ldap_bind($ldap["con"],$ldap["user"],$ldap["password"]))print("<br>LDAP bind worked for ".$ldap["user"]);if($search=@ldap_search($ldap["con"],$ldap["dn"],$ldap["search"],$justthese)){print("<br>find success!".$search."<br>");}else{print("<br>find failed".ldap_errno($ldap["con"]));}?>结果:success!LDAP bind worked for contactsfind failed1请问为什么会出现LDAP_OPERATIONS_ERROR 0x01 的错误 我觉得不管指不指定 OU ,dn只要存在,就可以对其对应的子树进行搜索phpldapadmin的源码 phpldapadmin/lib/server_functions.php 中判断dn是否存在的函数:function dnExists($link, $dn) { # Set default return $return = false; $search_result = @ldap_read($link, $dn, 'objectClass=*', array('dn')); if ($search_result) { $num_entries = ldap_count_entries($link,$search_result); if ($num_entries > 0) { $return = true; } else { $return = false; } } else { $return = false; } return $return;}而取得LOAP的所有OU应该用$search=@ldap_search($link, "dc=yahoo,dc=ali,dc=com", "(ou=*)", array("ou"))这是一个demo,可以试试http://thesmithfam.org/phpldapadmin-demo/htdocs/search.php?server_id=0&form=advanced===================== maria57(快乐的鱼) ( ) 信誉:100 Blog 2007-3-28 12:57:14 得分: 0 另外,如果不指定ou的话,能不能进行搜索啊? phpnow1.5.6如何设置404错误页面? 求地域选择问题!!! 如何使用php将mysql的查询结果导出为excel 如何做列表静态化。 php嵌在html里怎么无法显示了? 请问怎样才能方便地读取这种类型数据中的值? 高分求一sql语句,关于3表联合update(只修改其中之一) 高分(100)征求用smarty模板开发的php例程 php群发邮件问题 关于微信开发POST调用https和http的接口问题 name=\"description35\" 这是什么意思?? 如何统计某个链接的访问次数?
<?php
$ldap["user"]="contacts";
$ldap["password"]="backyard";
$ldap["dn"]="dc=yahoo,dc=ali,dc=com";
$justthese = array("ou", "sn", "givenname", "mail");
$ldap["search"]="(cn=s*)";
if($ldap["con"] = ldap_connect("yahoo.ali.com"))
{
echo "success!";
if(ldap_bind($ldap["con"],$ldap["user"],$ldap["password"]))
print("<br>LDAP bind worked for ".$ldap["user"]);if($search=@ldap_search($ldap["con"],$ldap["dn"],$ldap["search"],$justthese))
{
print("<br>find success!".$search."<br>");
}
else
{
print("<br>find failed".ldap_errno($ldap["con"]));
}
?>结果:
success!
LDAP bind worked for contacts
find failed1请问为什么会出现LDAP_OPERATIONS_ERROR 0x01 的错误
phpldapadmin的源码 phpldapadmin/lib/server_functions.php 中判断dn是否存在的函数:function dnExists($link, $dn) {
# Set default return
$return = false;
$search_result = @ldap_read($link, $dn, 'objectClass=*', array('dn')); if ($search_result) {
$num_entries = ldap_count_entries($link,$search_result); if ($num_entries > 0) {
$return = true;
} else {
$return = false;
} } else {
$return = false;
}
return $return;
}而取得LOAP的所有OU应该用
$search=@ldap_search($link, "dc=yahoo,dc=ali,dc=com", "(ou=*)", array("ou"))这是一个demo,可以试试
http://thesmithfam.org/phpldapadmin-demo/htdocs/search.php?server_id=0&form=advanced
=====================
maria57(快乐的鱼) ( ) 信誉:100 Blog 2007-3-28 12:57:14 得分: 0
另外,如果不指定ou的话,能不能进行搜索啊?