2013-02-07 12 views
9

मुझे अपलोड छवि एक्सटेंशन प्राप्त करना चाहते हैं।छवि एक्सटेंशन प्राप्त करें

जैसा कि मुझे पता है, सबसे अच्छा तरीका getimagesize() फ़ंक्शन है।

लेकिन यह फ़ंक्शन का माइम, image/jpeg देता है जब छवि .jpg या .JPEG एक्सटेंशन भी होती है।

बिल्कुल विस्तार कैसे प्राप्त कर सकते हैं?

+0

क्यों आप विस्तार के बारे में परवाह करते हैं: यहाँ php.net से एक सरल उदाहरण है? मैं एक '.png' एक्सटेंशन के साथ एक जेपीईजी अपलोड कर सकता था, लेकिन आप अभी भी यह देखने में सक्षम होंगे कि यह अन्य तरीकों के साथ एक जेपीईजी है। – Eric

उत्तर

17

आप छवि प्रकार getimagesize द्वारा दिया साथ image_type_to_extension फ़ंक्शन का उपयोग कर सकते हैं:

$info = getimagesize($path); 
$extension = image_type_to_extension($info[2]); 
4
$image = explode(".","test.file.hhh.kkk.jpg"); 
echo end($image); 
+0

वास्तव में? test.file.jpg – dfsq

+0

फाइलों के बारे में कैसे। नाम में? – phpalix

+0

@dfsq, आप मुझे test.file.jpg देते हैं लेकिन अब 4 डॉट वाले पुरुषों को जांचें। –

2

एक और तरीका यह करने के लिए:

$ext = strrchr($filename, "."); // .jpg 
0

तुम भी फ़ाइल नाम विस्फोट कर सकते हैं बिंदुओं के साथ और सरणी के अंत को निम्नानुसार लेते हैं:

lol Two different ways to find file extension in PHP

और आप के लिए एक नया तरीका:

$ext = end(explode('.', 'image.name.gif')); 
के अनुसार

$ext = explode('.', 'file.name.lol.lolz.jpg'); 
echo $ext[count($ext) - 1]; 
6

तुम भी strrpos और substr कार्यों का उपयोग कर सकते हैं किसी भी फाइल

$filePath="images/ajax-loader.gif"; 

$type=substr($filePath,strrpos($filePath,'.')+1); 

echo "file type=".$type; 
का विस्तार पाने के लिए

आउटपुट: gif

अगर आप चाहते हैं की तरह .gif

$type=substr($filePath,strrpos($filePath,'.')+0); 

उत्पादन विस्तार: .gif

0

जो लोग अगर छवि प्रकार JPEG, PNG या आदि आप exif_imagetype समारोह का उपयोग कर सकते है की जाँच के लिए । यह फ़ंक्शन किसी छवि के पहले बाइट्स को पढ़ता है और इसके हस्ताक्षर की जांच करता है।

<?php 
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) { 
    echo 'The picture is not a gif'; 
} 
?> 
0
$size = getimagesize($filename); 
$ext = explode('/', $size['mime'])[1]; 
0
$file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); 

या यह साफ

$filename= $_FILES["file"]["name"]; 
$file_ext = pathinfo($filename,PATHINFO_EXTENSION); 
संबंधित मुद्दे