获取图片扩展名

时间:2013-02-07 08:15:28

标签: php image

我想上传图片扩展程序。

据我所知,最好的方法是getimagesize()功能。

但此函数的mime,当图片具有image/jpeg.jpg扩展名时返回.JPEG

如何获得完全延伸?

9 个答案:

答案 0 :(得分:23)

$ext = pathinfo($filename, PATHINFO_EXTENSION);

答案 1 :(得分:23)

您可以将image_type_to_extension函数与getimagesize返回的图像类型一起使用:

$info = getimagesize($path);
$extension = image_type_to_extension($info[2]);

答案 2 :(得分: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

答案 3 :(得分:4)

$image = explode(".","test.file.hhh.kkk.jpg");
echo end($image);

答案 4 :(得分:2)

另一种方法:

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

答案 5 :(得分:0)

您还可以使用点分解文件名,并按如下方式取出数组的末尾:

$ext = end(explode('.', 'image.name.gif'));

根据:Two different ways to find file extension in PHP

为你提供一种新的方式lol:

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

答案 6 :(得分:0)

对于想要检查图像类型是JPEG,PNG等的人。您可以使用exif_imagetype功能。此函数读取图像的第一个字节并检查其签名。这是一个来自php.net的简单例子:

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
   echo 'The picture is not a gif';
}
?>

答案 7 :(得分:0)

$size = getimagesize($filename);
$ext = explode('/', $size['mime'])[1];

答案 8 :(得分:0)

$file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);

或使其干净

$filename= $_FILES["file"]["name"];
$file_ext = pathinfo($filename,PATHINFO_EXTENSION);