Sea*_*ean 9 php ldap active-directory adldap
我已经建立了一个系统来显示Active Directory中的每个人的姓名,电子邮件地址和电话号码,但我无法让'thumbailPhoto'工作.
我在互联网上搜索过,但一直无法找到这是否可能,或者至少从Active Directory返回的格式.
我目前正在使用adldap类,所以如果有可能使用它是理想的.
提前致谢.
编辑:
我可以检索thumbnailPhoto属性中的数据,如果我将它们直接转储到浏览器,我会得到这样的结果:
ÿØÿàJFIFððÿáPExifII*BH〜†(2Ži‡¢XCanonCanon EOS 5D马克IIIðð2013:05:19 17:35:31š,à,è"'0230ð" ''( '0'8' ' '@'' 11 '' 11 0100 YY¢ħ¢¢P 2013¤¤¤¤:04:17 11:44:522013:04:17 11:44:52H¹o@B¬†è»dnäWμ~: 'HHÿØÿàJFIFÿÛC$' Ì|®( ",#(7),01444'9 = 82 <.342ÿÛC2!!2222222222222222222222222222ÿÀ-d"ÿÄÿÄμ}!1AQa"q2'¡#B±ÁRÑð$ 3br,%&'()456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ"......†‡ ‰S ''’•--~™的¢¤£¥|§¨©ª²³'μ·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄÿÄμw!1AQaq"2B'¡±A#$3RðbrÑ4A%N&'()
这不是全部,但它是一个很长的字符串,我假设是某种二进制字符串?
hei*_*eas 22
这似乎是一个JPEG文件,因此您应该能够将该数据与适当的mime类型一起发送到浏览器.应该可以输出该图像,如:
<img src="data:image/jpeg;base64,<?php echo base64_encode($imageString); ?>"/>
Run Code Online (Sandbox Code Playgroud)
但也可以将任何图像格式的文件保存到该thumbnailPhoto属性中.因此,我会将内容放入一个临时文件中,然后直接从服务器提供.您将需要传递文件finfo以获取正确的mime类型.
所以你可能会这样做:
$tempFile = tempnam(sys_get_temp_dir(), 'image');
file_put_contents($tempFile, $imageString);
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime = explode(';', $finfo->file($tempFile));
echo '<img src="data:' . $mime[0] . ';base64,' . base64_encode($imageString) . '"/>';
Run Code Online (Sandbox Code Playgroud)
请尝试下面的代码.这是对上述答案的改编.
<?php
$result = ldap_search($ad , $dn , $filter, $attributes);
$aduser = ldap_get_attributes($ad, ldap_first_entry($ad,$result));
?>
<img src="data:image/jpeg;base64,<?php echo base64_encode($aduser['thumbnailPhoto'][0]); ?>" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18011 次 |
| 最近记录: |