यदि छवि PHP में मान्य है की जाँच करने के लिए सबसे अच्छा और सबसे तेज़ तरीका क्या है? मैं इसे GIF, JPG के साथ-साथ PNG छवियाँ जांच करने के लिए सक्षम होना चाहिए।यह जांचने का सबसे अच्छा और तेज़ तरीका क्या है कि छवि PHP में मान्य है या नहीं?
उत्तर
मुझे लगता है कि getimagesize
:
list($width, $height, $type, $attr) = getimagesize("path/to/image.jpg");
if (isset($type) && in_array($type, array(
IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
...
}
प्रलेखन पढ़ें: यह जांचने के लिए getimagesize() का उपयोग न करें कि एक दी गई फ़ाइल एक वैध छवि है। http://php.net/manual/en/function.getimagesize.php –
मैं इस समारोह का उपयोग करें ... यह यूआरएल की जाँच करता है भी
function isImage($url){
$params = array('http' => array(
'method' => 'HEAD'
));
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
return false; // Problem with url
$meta = stream_get_meta_data($fp);
if ($meta === false){
fclose($fp);
return false; // Problem reading data from url
}
}
हाँ तुम सही ... जोड़ दिया जाता है ब्रैकेट। –
exif_imagetype एक बेहतर समाधान है।
इस विधि का उपयोग कर getimagesize से तेज है। php.net के शब्दों में "वापसी मान एक ही मूल्य है कि getimagesize() सूचकांक 2 लेकिन exif_imagetype() बहुत तेजी से है में देता है।"
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;
}
बेशक यह केवल तब काम करता है जब EXIF एक्सटेंशन सक्षम होता है। मेरे मामले में यह मामला नहीं है और मेरा इस पर कोई नियंत्रण नहीं है :( –
मैं इस का उपयोग PHP documentation:
"जाँच करने के लिए कि किसी दिए गए फ़ाइल एक वैध image.Use एपी है getimagesize() का उपयोग न करें प्रयोजन-निर्मित समाधान जैसे फ़ाइलइन्फो एक्सटेंशन के बजाय। "
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finfo, "test.jpg");
if (isset($type) && in_array($type, array("image/png", "image/jpeg", "image/gif"))) {
echo 'This is an image file';
} else {
echo 'Not an image :(';
}
exif_imagetype getimagesize की तुलना में बहुत तेजी से होता है और
function isImage($pathToFile)
{
if(false === exif_imagetype($pathToFile))
return FALSE;
return TRUE;
}
(एक leaner मेम पदचिह्न छोड़ने) द्वारा सिफारिश के रूप में उपयोग नहीं करता है जी.डी.-लिब:
if(exif_imagetype('path/to/image.jpg')) {
// your image is valid
}
- 1. यह जांचने का सबसे अच्छा तरीका है कि एक डीआईआर खाली है या नहीं, जबकि php
- 2. यह जांचने का सबसे तेज़ तरीका क्या है कि दो टीबीटीएमएपी समान हैं या नहीं?
- 3. यह जांचने का सबसे अच्छा तरीका क्या है कि कोई S3 ऑब्जेक्ट मौजूद है या नहीं?
- 4. यह जांचने का सबसे अच्छा तरीका है कि कोई सूची शून्य नहीं है या नहीं?
- 5. यह जांचने का सबसे अच्छा तरीका क्या है कि PHP में कोई URL मौजूद है या नहीं?
- 6. स्ट्रिंग में कोई छवि टैग है या नहीं, यह जांचने का सबसे आसान तरीका क्या है?
- 7. यह जांचने का सबसे तेज़ तरीका क्या है कि स्ट्रिंग में सी # में अपरकेस अक्षर है या नहीं?
- 8. सी यह जांचने के लिए तेज़ तरीका है कि कोई निर्देशिका मौजूद है या नहीं
- 9. यह जांचने का सबसे अच्छा तरीका क्या है कि स्ट्रिंग में जावा/एंड्रॉइड में एक यूआरएल है या नहीं?
- 10. MySQL - यह जांचने का सबसे तेज़ तरीका है कि InnoDB तालिका में डेटा बदल गया है
- 11. यह जांचने का सबसे अच्छा तरीका क्या है कि फ़ाइल C++ में मौजूद है या नहीं? (क्रॉस प्लेटफार्म)
- 12. यह जांचने का सबसे अच्छा तरीका क्या है कि कोई स्ट्रिंग किसी दूसरे में मौजूद है या नहीं?
- 13. यह पता लगाने का सबसे अच्छा तरीका क्या है कि प्रॉक्सी सर्वर उपलब्ध है या नहीं?
- 14. यह जांचने का सबसे अच्छा तरीका है कि दो तिथियां ग्रोवी में एक ही कैलेंडर दिन हैं या नहीं?
- 15. यह जांचने का सबसे तेज़ तरीका क्या है कि दो दिए गए नंबर coprime हैं?
- 16. यह पता लगाने का सबसे तेज़ तरीका है कि जावास्क्रिप्ट
- 17. Drupal 7: डीबी प्रविष्टि मौजूद है या नहीं, यह जांचने का सबसे तेज़ तरीका
- 18. यह जांचने का सबसे अच्छा तरीका क्या है कि उपयोगकर्ता फाइल अपलोड कर सकता है या नहीं?
- 19. क्या कोई बाहरी वेब पेज मौजूद है या नहीं, यह जांचने का एक तेज़ तरीका है?
- 20. यह जांचने का सबसे अच्छा तरीका क्या है कि कोई वेबसाइट जावास्क्रिप्ट
- 21. GetProcessesByName का उपयोग यह जांचने का सबसे अच्छा तरीका है कि कोई प्रक्रिया चल रही है या नहीं?
- 22. यह जांचने का सबसे अच्छा तरीका है कि निर्देशिका बीएटी स्क्रिप्ट में लिखने योग्य है या नहीं?
- 23. यह जांचने का सबसे अच्छा तरीका है कि कोई आईफोन ऐप पहली बार चल रहा है
- 24. क्या यह जांचने का कोई तरीका है कि पॉइंटर खतरे में है या नहीं?
- 25. इनपुट स्ट्रिंग एक सही आरपीएन अभिव्यक्ति है या नहीं, यह जांचने का सबसे तेज़ तरीका क्या है?
- 26. क्या यह जांचने का कोई तरीका है कि कोई चर जावास्क्रिप्ट में दिनांक है या नहीं?
- 27. उद्देश्य-सी रनटाइम: यह जांचने का सबसे अच्छा तरीका है कि वर्ग प्रोटोकॉल के अनुरूप है या नहीं?
- 28. यह जांचने का सबसे तेज़ तरीका है कि कोई वेक्टर मैट्रिक्स रैंक
- 29. यह निर्धारित करने का सबसे अच्छा तरीका क्या है कि आज जावास्क्रिप्ट में कोई तारीख है या नहीं?
- 30. यूनिक्स/लिनक्स में दो फाइलें समान हैं या नहीं, यह बताने का सबसे तेज़ तरीका है?
क्या आप "वैध" मतलब है:
यहाँ एक उदाहरण है? यह जांच रहा है कि छवि फ़ाइल सही प्रारूप में है या नहीं? –