PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder aus LDAP Datenbank ausgeben



Frey
23-08-2005, 09:34
Hallo
Ich soll ein Mitarbeiterverzeichnis in PHP programmieren.
Die Daten der Mitarbeiten stehen in einem LDAP-Verzeichnis.
Das Auslesen der Namen, E-Mails usw geht ohne Probleme. Für jeden Mitarbeiter gibt es noch den Eintrag "jpegPhoto" in dem sein Bild gespeichert wird.
Nach dem Lesen der Referenz bin ich auf die Funktionen "ldap_get_values_len" und "imagecreatefromstring" gestossen und hab dann folgenden Code zusammengebastelt. PHP gibt zwar keine Fehlermeldung aus, aber ein Bild wird leider nicht generiert. Stattdessen werden irgendwelche Sonderzeichen auf der Seite ausgegeben.


<?php

$ds=ldap_connect("$server");

if ($ds)
{
$r=ldap_bind($ds);
$sr=ldap_search($ds,"ou=People,dc=dc1,dc=dc2,dc=de", "sn=Frey*");

if (ldap_get_entries($ds, $sr))
{

$info = ldap_get_entries($ds, $sr);
$eintrag = ldap_first_entry($ds, $sr);
$data = ldap_get_values_len($ds,$eintrag,"jpegphoto");


$im = imagecreatefromstring($data[0]);
if ($im !== false) {
header('Content-Type: image/jpeg');
imagejpeg($im);
}
else {
echo 'Fehler!';
}
}



ldap_close($ds);

}

?>


Ist mein Ansatz richtig und hab ich irgendeine Kleinigkeit übersehen oder ist er komplett falsch ?

Romanday
23-08-2005, 12:19
Hallo
Ich soll ein Mitarbeiterverzeichnis in PHP programmieren.
Die Daten der Mitarbeiten stehen in einem LDAP-Verzeichnis.
Das Auslesen der Namen, E-Mails usw geht ohne Probleme. Für jeden Mitarbeiter gibt es noch den Eintrag "jpegPhoto" in dem sein Bild gespeichert wird.


Liegt bestimmt am Header.
Versuch mal :

Content-Type: image/jpg

Frey
23-08-2005, 12:38
Nö leider nicht :(

sixfriends
23-08-2005, 13:21
Könntest mal die Funktion hier versuchen:
http://selfphp.de/funktionsreferenz/image_funktionen/imagecreatefromjpeg.php

Falls es in HTML ausgegeben werden soll, wäre es aber vermutlich einfacher, den Pfad dort auszulesen, wo die Webseite generiert wird, und diesen einfach als src Attribut für einen img tag zu verwenden...

quinte17
23-08-2005, 13:24
also dein code an sich stimmt schon, aber dein browser kann damit meist so noch nicht umgehen.
versuchs mal mit einer billigen html-file, die diese php aufruft:

<html>
<img src="url zu der php">
</html>

greetz

Frey
23-08-2005, 13:50
@quinte17
Das wars. Big thx