我想上传图片扩展程序。
据我所知,最好的方法是getimagesize()
功能。
但此函数的mime,当图片具有image/jpeg
或.jpg
扩展名时返回.JPEG
。
如何获得完全延伸?
答案 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);