PHP/MySQL - show image from blob -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

मैंने एक php बनाया है -पृष्ठ जहाँ आप छवियों / फ़ाइलों को अपलोड कर सकते हैं जो मेरे डेटाबेस में "मिडियाबंब" टाइप के रूप में सहेजे जाएंगे अब मैं फँस गया हूँ और यह पता नहीं लगा सकता कि इन छवियों को डेटाबेस से कैसे प्रदर्शित किया जाए। मैंने कैप्स में लिखा था, जहां मैं छवियों को प्रिंट करना चाहूंगा।

  & lt;? Php $ dbLink = new mysqli ('127.0.0.1', 'रूट', '', 'परीक्षण'); यदि (mysqli_connect_errno ()) {मर ("MySQL कनेक्शन विफल:"। Mysqli_connect_error ()); } $ Sql ​​= 'SELECT `id',` नाम`, `मीम`,` आकार`, `बनाया`, 'डेटा` से` फ़ाइल`;; $ परिणाम = $ dbLink- & gt; क्वेरी ($ sql); अगर ($ परिणाम) {// यदि ($ result-> num_rows == 0) {echo '& lt; p & gt; डेटाबेस में कोई भी फाइल नहीं है & lt; / p & gt;'; } Else {गूंज & lt; तालिका की चौड़ाई = "100%" & gt; & LT; टीआर & gt; & LT; टीडी & gt; & lt; p & gt; नाम & lt; / p & gt; & lt; / टीडी & gt; & LT; टीडी & gt; & lt; p & gt; माइम / प्रकार & lt; / b & gt; & lt; / टीडी & gt; & Lt; td & gt; & lt; b & gt; आकार (बाइट) & lt; / b & gt; & lt; / td & gt; & LT; टीडी & gt; & lt; p & gt; बनाया गया & lt; / p & gt; & lt; / टीडी & gt; & LT; टीडी & gt; & lt; p & gt; छवि & lt; / p & gt; & lt; / टीडी & gt; & Lt; / टीआर & gt; '; जबकि ($ पंक्ति = $ परिणाम- & gt; fetch_assoc ()) {गूंजती "& lt; tr & gt; & lt; td & gt; {$ row ['name']} & lt; / td & gt; & lt; टीडी & gt; {$ row ['mime' & Lt; / td & gt; & lt; td & gt; {$ पंक्ति ['आकार']} & lt; / td & gt; & lt; td & gt; {$ row ['बनाया']} & lt; / td & gt; // यह है, एम ने छवियों को प्रिंट करने के लिए प्रेरित किया & lt; / tr & gt; "; } गूंज '& lt; / table & gt;'; }} और {गूंज 'त्रुटि! SQL क्वेरी विफल: '; गूंज "& lt; पूर्व & gt; {$ dbLink- & gt; त्रुटि} & lt; / pre & gt;"; } गूंज & lt; p & gt; क्लिक करें & lt; a href = "index.html" & gt; यहां & lt; / a & gt; वापस जाने के लिए & lt; / p & gt; '; // mysql कनेक्शन को बंद करें $ dbLink- & gt; बंद (); ? & Gt;  

यह डेटाबेस में मेरी तालिका है:

  बनाएँ तालिका 'फ़ाइल' (`आईडी` अन्तर्निहित नहीं नल ऑटो_इनक्रिट,` नाम 'varChar (255 ) नल डिफॉल्ट 'अनैटाइटल.txt', 'माइम' वरकर (50) नल डिफॉल्ट 'टेक्स्ट / सादा', `आकार` बिगइंट अनसाइन्ड नल डिफॉल्ट 0,` डेटा` मध्यम ब्लॉब नल, बना दिया गया है 'डेटटाइम नल, प्राथमिक कुंजी (`आईडी`))  

किसी भी मदद के लिए बहुत आभारी!

<पी> यदि ब्लॉब में एक छवि का द्विआधारी डेटा है, तो आपको सामग्री लेने की आवश्यकता होगी और संभावित रूप से इसे फ़ाइल में लिखना होगा, जिसके परिणामस्वरूप एक छवि होगी।

  file_put_contents ($ path "पथ / प्रति / छवि /" - "पंक्ति ['नाम'], बेस 64_डेकोड ($ पंक्ति ['छवि']);  

फिर इसे सामान्य रूप से कॉल करें बेशक .. जांचें कि फाइल लिखने से पहले मौजूद है:)

वैकल्पिक रूप से, आप नीचे दिखाए गए अनुसार सीधे छवि को आउटपुट करने के लिए एक स्क्रिप्ट लिख सकते हैं।


Comments