Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中显示Active Directory中的缩略图照片_Php_Active Directory_Ldap_Adldap - Fatal编程技术网

在PHP中显示Active Directory中的缩略图照片

在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

我已经设置了一个系统来显示每个人的姓名、电子邮件地址和Active Directory中的电话号码,但是我无法让“thumbailPhoto”正常工作

我已经在互联网上搜索过了,但没有找到这是否可行,或者至少没有找到Active Directory返回的格式

我目前正在使用adldap类,因此如果可以使用它,那将是理想的

提前谢谢

编辑:

我可以在thumbnailPhoto属性中检索数据,如果直接将其转储到浏览器,则会得到如下结果:

$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" />