PHP

2013-06-05 5 views
7

में सक्रिय निर्देशिका से थंबनेल प्रदर्शित करें मैंने सक्रिय निर्देशिका से सभी का नाम, ईमेल पता और फोन नंबर प्रदर्शित करने के लिए एक प्रणाली स्थापित की है, हालांकि मुझे काम करने के लिए 'thumbailPhoto' नहीं मिल रहा है।PHP

मैंने इंटरनेट पर चारों ओर खोज की है लेकिन यह संभव नहीं है कि यह संभव है या कम से कम सक्रिय निर्देशिका से कौन सा प्रारूप लौटाया गया है।

मैं वर्तमान में विज्ञापन समूह का उपयोग कर रहा हूं, इसलिए यदि इसका उपयोग करना संभव है तो यह आदर्श होगा।

अग्रिम धन्यवाद।

संपादित करें:

मैं thumbnailPhoto विशेषता में डेटा पुनः प्राप्त कर सकते हैं और अगर मैं उन्हें ब्राउज़र को सीधे डंप मैं कुछ इस तरह मिलती है:

ÿØÿàJFIFððÿá PExifII * bh ~ † (2Ži ‡ ¢ XCanonCanon EOS 5D मार्क IIIðð2013: 05: 19 17: 35: 31šààè '' 0230ð ' ' '(' 0'8 '' '' '' 11'11 '0100 ÿÿ ¢ एच ¢ पी ¢ 2013: 04: 17 11: 44: 522013: 04: 17 11: 44: 52H¹o @ B¬ † नौकरी »dnäWμ~: Ì|® (¶ '। HHÿØÿàJFIFÿÛC $'", # (7), 01444'9 = 82 < .342ÿÛC 2 !! 22222222222222222222222222222222222222222222222222ÿÀ-डी " फिर ÿÄμ} 1AQa "q2'¡ # बी ÁRÑð $ 3BR, % & ± '() 456,789: CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ" ... † ‡ ‰ s'! "" • --~ ™ ¢ एस £ ¤ ¥ |§¨ © ª²³'μ¶ · ¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ × ØÙÚáâãäåæçèéêñòóôõö ÷ øùúÿÄ ÿÄμw! 1AQaq "2B'¡ ± एक # 3RðbrÑ $ 4 ए% N & '()

यह सब कुछ नहीं है लेकिन यह एक बहुत लंबी स्ट्रिंग है, मुझे लगता है कि कुछ प्रकार की बाइनरी स्ट्रिंग है?

+0

मुझे लगता है कि आप 'thumbnailPhoto की सामग्री प्राप्त कर सकते हैं '। क्या आपने विश्लेषण किया है कि सामग्री का प्रारूप-प्रारूप क्या है? – heiglandreas

+0

मैंने जो कुछ लौटाया है उसका एक स्निपेट जोड़ा है। छवि प्रारूप के संबंध में मुझे नहीं पता कि जब उपयोगकर्ता एक जोड़ता है तो छवि पर सक्रिय निर्देशिका क्या करती है। मुझे नहीं पता कि यह उनके द्वारा अपलोड किए गए स्वरूप में रहता है या यदि इसे किसी तरह से संसाधित किया जाता है। – Sean

उत्तर

15

यह एक जेपीईजी-फ़ाइल प्रतीत होता है, इसलिए आप उस डेटा को उचित माइम-प्रकार ब्राउज़र के साथ एक साथ भेजने में सक्षम होना चाहिए। ऐसा लगता है कि कुछ के साथ उत्पादन है कि छवि के लिए संभव हो जाना चाहिए:

<img src="data:image/jpeg;base64,<?php echo base64_encode($imageString); ?>"/> 

लेकिन यह भी है कि thumbnailPhoto विशेषता में किसी भी छवि प्रारूप की फ़ाइलों को बचाने के लिए संभव हो सकता है। इसलिए, मैं सामग्री को एक अस्थायी फ़ाइल में डाल दूंगा जो तब सर्वर से सीधे परोसा जाएगा। सही माइम-प्रकार प्राप्त करने के लिए आपको finfo के माध्यम से फ़ाइल को पास करने की आवश्यकता होगी।

तो तुम कुछ इस तरह कर सकते हैं:

$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) . '"/>'; 
+0

इसके लिए आपको बहुत कुछ धन्यवाद, मैंने कोड को थोड़ा tweaked क्योंकि मुझे पता था कि यह एक छवि होगी लेकिन यह निश्चित रूप से मेरी समस्या हल हो गया है और महान काम करता है। – Sean

6

नीचे कोड की कोशिश करो। यह उपर्युक्त उत्तर का अनुकूलन है।

<?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]); ?>" /> 
0

जब आप ldap अर्थात में फोटो डाटा स्टोर यह एनकोड बेस 64 का उपयोग करके किया जाना चाहिए विशेषता "jpegphoto"। विशेषता को पढ़ना पहले से ही फ्लाई पर डीकोड किया गया है।इसलिए मैं कुछ कम संशोधित कोड का प्रयोग करेंगे

$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" /> 
संबंधित मुद्दे