phpmyadmin के साथ बनाई गई एक MYSQL तालिका में चित्र (यूआरएल, तस्वीर नहीं) डालने का कोई तरीका है? और यदि वहां है कि मैं उस तस्वीर को प्राप्त करना चाहता हूं और इसे पृष्ठ में डालना चाहता हूं, तो मुझे क्या करना चाहिए? :)क्या मैं एक MYSQL डीबी तालिका में एक छवि डाल सकता हूं?
उत्तर
यह संभव है (बीएलओबी प्रकार का उपयोग करके) लेकिन फाइल को सिस्टम में बस स्टोर करने के लिए लगभग हमेशा बेहतर होता है और डेटाबेस में छवि को बस स्टोर करता है।
कुछ वजहों मेरे सिर के ऊपर से:
BLOBs अपने डेटाबेस का आकार balloon जाएगा, बैकअप और संभवतः अधिक मुश्किल पुनर्स्थापित करता है (हालांकि कुछ लोगों का तर्क है हो सकता है कि यह आप के बाद से यह आसान बना देता है केवल डेटाबेस के बजाय डेटाबेस का बैक अप लेना होगा और फाइलों का एक गुच्छा)।
बीएलओबी के रूप में डेटा संग्रहीत करने से प्रदर्शन समस्याएं हो सकती हैं यदि आपके पास आलसी कोड है जो
select *
का उपयोग करता है।फाइल सिस्टम से छवियों की सेवा करना डेटाबेस से उनकी सेवा करने से अधिक तेज़ होगा, और डीबी सर्वर पर लोड कम करेगा।
आप छवियों की सेवा के साथ कुछ लचीलापन प्राप्त करते हैं - उदाहरण के लिए यदि आप उन्हें भविष्य में सीडीएन में ले जाना चाहते हैं।
आप अक्सर छवि प्राप्त करते समय हो जाएगा, तो आप शायद बेहतर होगा एक फ़ाइल के रूप में संग्रहीत करने और इसे करने के लिए पथ की बचत, छवि प्राप्त करते समय पर आप एक डेटाबेस रन बचाने के लिए।
अन्यथा, छवि फ़ाइल की सामग्री को BLOB कॉलम में संग्रहीत करें, और फिर HTML में <img src="image.php?id=1234" />
प्रिंट करें।
image.php
डेटाबेस में आईडी 1234 के साथ छवि को देखना चाहिए, उस बीएलओबी कॉलम की सामग्री प्राप्त करना चाहिए, और सही HTTP शीर्षलेख की सेवा के बाद इसे प्रिंट करना चाहिए, उदा। header('Content-type: image/gif');
लेकिन गंभीरता से। बस छवि फ़ाइल को बचाओ। यह दर्द का बहुत कम है, मैं वादा करता हूँ।
जब पृष्ठभूमि छवियों या मेनू आइकन आदि जैसे स्थिर संसाधनों की बात आती है, तो मैंने कभी भी उन्हें किसी डेटाबेस में संग्रहीत नहीं देखा है। गतिशील सामग्री जैसे उपयोगकर्ता अपलोड की गई छवियों के लिए, यह असामान्य नहीं है।
डेटाबेस में छवियों को संग्रहीत करने के कुछ प्रो और कॉन हैं।
लाभ:
- यह तकनीकी रूप से अन्य डेटा से अलग नहीं है। बस और, बाइनरी प्रारूप में।
- छवियों का बाकी डेटाबेस के साथ बैक अप लिया गया है।
- सिंक्रनाइज़ेशन से बाहर हो रही है
कमियां (डेटाबेस में किसी गैर-मौजूद छवि की ओर इशारा करते डेटाबेस में एक पथ, या unreferenced छवियों वाले) का कोई सिर दर्द:
- संग्रहीत अलग-अलग फाइलें ठीक उसी प्रकार होती हैं जो फाइल सिस्टम की तरफ तैयार होती है, इसलिए यह संभवत: बेहतर पैमाने पर बेहतर होगा।
- छवियों को मैन्युअल रूप से डीबग/देखने के लिए
- वेब सर्वर सीधे छवियों की सेवा कर सकता है (डेटाबेस से सामग्री लोड करने के लिए अतिरिक्त कोड की आवश्यकता नहीं है और उचित माइम प्रकार आदि प्रदान करता है)।
व्यक्तिगत रूप से मैंने हमेशा पाया है कि लाभ कमियों से अधिक है और हमेशा डेटाबेस में छवियों (माइम प्रकार के साथ) था। मैंने कभी भी किसी भी कमी या प्रदर्शन के मुद्दों पर ध्यान नहीं दिया है, लेकिन दूसरी ओर मैंने वास्तव में बड़ी वेबसाइटों पर कभी काम नहीं किया है।
संबंधित सवाल और संसाधन:
- 1. मैं एक mysql तालिका
- 2. मैं एक छवि पर एक div कैसे डाल सकता हूँ?
- 3. मैं कई पंक्तियों को एक MySQL तालिका में कैसे डाल सकता हूं और नई आईडी वापस कर सकता हूं?
- 4. एक MYSQL डीबी
- 5. मैं तालिका में पंक्ति कैसे डाल सकता हूं?
- 6. मैं डीबी 2 में एक टेबल कैसे लगा सकता हूं?
- 7. मैं MySQL में क्यों नहीं डाल सकता?
- 8. MySQL डीबी तालिका
- 9. MySQL - मैं एक एकल INSERT कथन में कितनी पंक्तियां डाल सकता हूं?
- 10. मैं एक विशेष चरित्र कैसे डाल सकता हूं जैसे 'MySQL में?
- 11. क्या मैं एक नल नल फ़ील्ड में एक खाली स्ट्रिंग डाल सकता हूं?
- 12. मैं एक डेटा कैसे डाल सकता हूं। ByteString.Internal.ByteString?
- 13. एक MySQL डीबी कनेक्शन
- 14. मैं Python3 में एक MySQL डीबी में इनपुट से कैसे बच सकता हूं?
- 15. क्या मैं stdin में बाइनरी डाल सकता हूं? सी #
- 16. Google Analytics - क्या मैं स्पीकर में स्क्रिप्ट डाल सकता हूं?
- 17. मैं MySQL में एक संगत समूह कैसे कर सकता हूं?
- 18. क्या मैं NSDictionary में ऑब्जेक्टिव सी @ चयनकर्ता डाल सकता हूं?
- 19. मैं वर्डप्रेस में एक पोस्ट कैसे डाल सकता हूं और उसे एक श्रेणी से जोड़ सकता हूं?
- 20. एक बड़ी MySQL तालिका
- 21. एक लाइव डीबी (MySQL प्रतिकृति?)
- 22. एक MySQL तालिका कॉलम
- 23. मैं एक .ibd फ़ाइल से एक MySQL InnoDB तालिका को फिर से कैसे बना सकता हूं?
- 24. मैं क्यूटी में एक छवि कैसे फसल कर सकता हूं?
- 25. मैं टर्मिनल में एक छवि कैसे प्रदर्शित कर सकता हूं?
- 26. मैं एक जीडीबी लॉग में एक समय स्ट्रिंग कैसे डाल सकता हूं?
- 27. Mysql, एक और तालिका
- 28. MySQL एक तालिका
- 29. क्या मैं एक छिपे हुए फॉर्म फ़ील्ड में एएसपी.Net सत्र आईडी डाल सकता हूं?
- 30. एक्सएमएल दस्तावेज़ में, क्या मैं एक विधि समूह का संदर्भ डाल सकता हूं? कैसे?
उपयोग ब्लॉब प्रकार, यह 0 और 1 के – Karthik
के रूप में छवि डालने और बचाने के लिए सुनिश्चित कर देगा (और जवाब दें) उन 0 और 1 के अनुरूप उचित माइम-प्रकार के साथ ... – aioobe