Как обновить фотографию в Active Directory с помощью PHP ldap_modify - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь обновить кучу фотографий пользователей в нашей Windows Active Directory, используя PHP и ldap_modify.Я не получаю ошибок, но фото также не обновляется.Что-нибудь ослепительное, что я делаю не так?

<?php
//previously have connected to AD and have $conn resource. I also have correct $dn.
$photofile='/var/www/temp/mynewphoto.jpg';
$data=file_get_contents($photofile);
$changes['photo']='data:image/jpeg;base64,'.base64_encode($data);
if(!ldap_modify($conn, $dn, $changes)){
    $enum=ldap_errno($conn);
    $msg=ldap_err2str( $enum );
    echo "Photo change Failed for {$dn}. {$msg}".'<br />'.PHP_EOL.printValue($ldapInfo);
}
else{               
    echo "Photo Updated for  : {$dn} : {$rec['dn']}<br />".PHP_EOL;
    $cnt+=1;
}

1 Ответ

0 голосов
/ 22 февраля 2019

Вы уверены, что хотите атрибут photo?По умолчанию Outlook и т. Д. Обращаются к атрибуту thumbnailPhoto, который является просто байтовым массивом файла (не в кодировке base64).Как то так:

$changes['thumbnailPhoto'] = $data;
...