में कोई चित्र है, यदि सर्वर पर कोई फ़ाइल अपलोड की गई है, तो यह सुनिश्चित करने के लिए PHP का उपयोग करने का कोई तरीका है कि यह वास्तव में एक तस्वीर है और न केवल .jpg या .gif एक्सटेंशन वाली फ़ाइल है?मान्य करें कि फ़ाइल PHP
उत्तर
जीडी पुस्तकालय का उपयोग (भाग)।
array getimagesize (string $filename [, array &$imageinfo ])
सरणी के पहले तत्व 0 हो जाएगा अगर कोई छवि है। PHP: getimagesize
यदि आपके पास जीडी इंस्टॉल नहीं है (अधिकांश समय आप करेंगे), तो आप फ़ाइल हेडर को Shane mentioned के रूप में पढ़ सकते हैं।
संपादित करें: दरअसल, जैसा कि नील ने टिप्पणियों में बताया, जीडी लाइब्रेरी को इस फ़ंक्शन का उपयोग करने की भी आवश्यकता नहीं है। तो इसका इस्तेमाल करें।
सबसे प्रभावी तरीका फ़ाइल की शुरुआत बाइट्स और 'जादू संख्या' फ़ाइल विनिर्देश के लिए परीक्षण करना होगा। Here is a list of magic numbers।
यह जीडी को फायर करने से अधिक कुशल होगा, लेकिन मुझे लगता है कि बाइनरी खुलता है, आदि .. थोड़ा सा है ज्यादातर लोगों का सिर। –
यदि यह सच है - यह बहुत निराशाजनक है। यहां अधिकांश लोगों में सीएस डिग्री नहीं है? –
मैं नहीं करता .. लेकिन मैं 7 साल से कोड लिख रहा हूं। आश्चर्य की बात है कि, बहुत से लोग वास्तव में यह जानकर डिग्री प्राप्त कर सकते हैं कि उन्हें क्या करना है। मैं अनुभव से बात करता हूं, क्योंकि वास्तव में सिविल इंजीनियरिंग में डिग्री होती है, और मुझे बहुत सारे "स्लाइडर" पता था जो बस फिसल गए थे। एक डिग्री का मतलब कुछ भी नहीं है। सबूत है कि आप कुछ कर सकते हैं। – snicker
रिकॉर्ड के लिए: अब 2013+ हम कर सकते हैं में:
अधिकतम के लिए। संगतता (यदि आपके पास जीडी लाइब्रेरी नहीं है)।
उपयोग हमेशा उपलब्ध mime-content-type ((PHP 4> = 4.3.0, पीएचपी 5))
$type = mime_content_type($filename);
if (strstr($type, 'image/'))
{
echo 'is image';
}
एक अपडेट के रूप में इसे अब बहिष्कृत कर दिया गया है: http://us3.php.net/manual/en/function.mime-content-type.php – bonez
सबसे अच्छा करता है, तो फ़ाइल एक छवि है की जाँच करने के रास्ते
function is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}
अधिक: http://www.binarytides.com/php-check-if-file-is-an-image/
- 1. जांचें कि फ़ाइल php
- 2. निर्धारित करें कि PHP
- 3. मान्य करें अगर फ़ाइल को कोडिनेटर
- 4. PHP रेगेक्स - मान्य फ्लोट नंबर
- 5. php: निर्धारित करें कि
- 6. PHP - निर्धारित करें कि http
- 7. MediaPlayer.setDataSource मान्य फ़ाइल
- 8. सी # जांचें कि एक फ़ाइल गंतव्य मान्य है
- 9. कैसे बताएं कि sqlite डेटाबेस फ़ाइल मान्य है या नहीं
- 10. PHP जांचें कि फ़ाइल उपयोग में है
- 11. पायथन में मान्य ज़िप फ़ाइल
- 12. जांचें कि क्या दूरस्थ फ़ाइल PHP
- 13. PHP जांचें कि फ़ाइल में स्ट्रिंग
- 14. PHP: फ़ाइल अपलोड करें move_uploaded_file()
- 15. मान्य करें कि तिथि वर्तमान तिथि से पहले है
- 16. एक एक्सएसडी स्कीमा मान्य करें?
- 17. पेपरक्लिप - मान्य करें फ़ाइल प्रकार नहीं बल्कि उपस्थिति
- 18. जेडटेबल फ़ील्ड मान्य करें
- 19. संकलित PHP एक्सटेंशन मान्य नहीं है
- 20. PHPExcel फ़ाइल फ़ाइल नहीं खोल सकती है क्योंकि फ़ाइल प्रारूप या फ़ाइल एक्सटेंशन मान्य नहीं है
- 21. सी ++ जांचें कि कोई दिनांक मान्य है
- 22. जांचें कि क्या चर PHP
- 23. फ़ाइल - त्रुटि संदेश अगर तर्क मान्य
- 24. जब कोई php फ़ाइल बंद न करें?
- 25. उपरोक्त फ़ोल्डर में .php फ़ाइल शामिल करें
- 26. आईफोन डिवाइस आईडी मान्य करें?
- 27. फ़ाइल पहुंच प्रतिबंधित करें - केवल PHP
- 28. मुझे लगता है कि मान्य करने के लिए चेक-इन किया फ़ाइल
- 29. फ़ाइल अपलोड करें बड़ी फ़ाइलें PHP/AJAX
- 30. PHP में फ़ाइल एक्सटेंशन कैसे प्राप्त करें?
@Neal - दरअसल, मैंने नहीं किया! मुझे पता नहीं था। यह बात बताने के लिए धन्यवाद। उत्तर संपादित किया गया है। पहली बार मैं RTFM'd – snicker
नहीं किया गया कोई समस्या नहीं^_^मदद करने में खुशी! – Neal
यह 'exif_imagetype' का उपयोग करने के लिए बेहतर और * तेज * है। – Brett