在PHP中显示Active Directory中的缩略图照片
我已经设置了一个系统来显示每个人的姓名、电子邮件地址和Active Directory中的电话号码,但是我无法让“thumbailPhoto”正常工作 我已经在互联网上搜索过了,但没有找到这是否可行,或者至少没有找到Active Directory返回的格式 我目前正在使用adldap类,因此如果可以使用它,那将是理想的 提前谢谢 编辑: 我可以在thumbnailPhoto属性中检索数据,如果直接将其转储到浏览器,则会得到如下结果:在PHP中显示Active Directory中的缩略图照片,php,active-directory,ldap,adldap,Php,Active Directory,Ldap,Adldap,我已经设置了一个系统来显示每个人的姓名、电子邮件地址和Active Directory中的电话号码,但是我无法让“thumbailPhoto”正常工作 我已经在互联网上搜索过了,但没有找到这是否可行,或者至少没有找到Active Directory返回的格式 我目前正在使用adldap类,因此如果可以使用它,那将是理想的 提前谢谢 编辑: 我可以在thumbnailPhoto属性中检索数据,如果直接将其转储到浏览器,则会得到如下结果: $tempFile = tempnam(sys_get_te
$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) . '"/>';
ÿØÿa JFIFðÿa
PExifII*bh~†(2Ži‡xCanonconon EOS 5D标记
三、2013:05:19 17:35:31
’ ’ (’0’8’ ’ ’@‘’11’’11 0100
ÿÿ、H、P、2013:04:17
11:44:522013:04:17 11:44:52Ho@B¬ †
èèdnäWµñ:Ìè
HHÿÿÿÿÿÿÿÿC$
“,#(7),01444'9=82这似乎是一个JPEG文件,因此您应该能够将该数据与适当的mime类型一起发送到浏览器。应该可以使用以下内容输出该图像:
<img src="data:image/jpeg;base64,<?php echo base64_encode($imageString); ?>"/>
尝试下面的代码。这是对上面答案的改编
“/>
将照片数据存储到ldap(即“jpegphoto”属性)时,应使用encode base64完成。
读取属性已经被动态解码了。因此我会使用一些修改较少的代码
$tempFile = tempnam(sys_get_temp_dir(), 'image');
file_put_contents($tempFile, $imageString);
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime = explode(';', $finfo->file($tempFile));
header("Content-Type: $mime");
echo $imageString;
这是直接编写php图像的示例
您可以在标记img下直接使用它,即
<img src="example.php" />
我假设您可以检索“thumbnailPhoto”的内容。您分析过内容的图像格式吗?我添加了返回内容的片段。关于图像格式,我不知道当用户添加图像时Active Directory会对图像做什么。我不知道它是否保持他们上载的格式,或者是否在中处理某种方式。非常感谢,我稍微调整了代码,因为我知道它会是一个图像,但这确实解决了我的问题,效果很好。出于它的价值,我使用此解决方案来解析mime类型,但通过使用$finfo->buffer($binary)
<img src="example.php" />