यदि आपने डेटाबेस में छवि की सामग्री को सहेजा है तो आप data:
. का उपयोग कर सकते हैं यूरी इस सामग्री को <img />
. में दिखाता है उपनाम। यह आपको अन्य सामग्री में विभिन्न माइम प्रकार की सामग्री एम्बेड करने की अनुमति देता है, देखें डेटा यूआरआई योजना
।
लेकिन आपको वास्तव में डेटाबेस में किसी भी फाइल (छवि की परवाह किए बिना या नहीं) को सहेजना नहीं चाहिए। फ़ाइलें फ़ाइल सिस्टम से संबंधित हैं, जैसा कि नाम से ही पता चलता है। डेटाबेस में फ़ाइलों को सहेजने में आपको एक बड़ा ओवरहेड मिलता है। विशेष रूप से छवियों के लिए आपको (शायद) एक PHP स्क्रिप्ट चाहिए जो छवि लोड करती है, उदाहरण के लिए। अगर आप <img src="showimage.php?id=5" alt="..." />
जैसी किसी चीज़ का उपयोग करते हैं . प्रत्येक छवि के लिए आपको एक अतिरिक्त PHP स्क्रिप्ट को कॉल करने की आवश्यकता होती है, और आपको कुछ भी प्राप्त नहीं होता है। हर कोई
आपको फाइल सिस्टम में फाइलों को सहेजना और फाइल सिस्टम के माध्यम से सामान्य रूप से लोड करना बेहतर होगा। तो आप <img src="images/foobar/xyz.png" alt="..." />
जैसे टैग का उपयोग करें बजाय। यहां तक कि "मैं अपने डेटाबेस में छवियों के लिए कोई 'टूटा हुआ लिंक' नहीं चाहता" तर्क मायने नहीं रखता क्योंकि आप बस पथ के अंदर आईडी का उपयोग करते हैं और file_exists()
. का उपयोग करते हैं यह जांचने के लिए कि क्या कोई छवि लिंक . है मान्य है या नहीं।
$path = 'images/useravatars/'.$row['ID'].'.png'; // as an example
if (file_exist($path)) {
echo '<img src="'.$path.'" alt="username" />';
} else {
echo '<img src="images/noimage.png" alt="No Image found" />';
}