可能重复:如何在PHP中提取文件扩展名?
我希望获得我上传的图像的文件扩展名,但我只是得到了一个数组 .
$userfile_name = $_FILES['image']['name']; $userfile_extn = explode(".", strtolower($_FILES['image']['name']));
有没有办法只得到扩展本身?
无需使用字符串函数 . 您可以使用的东西,实际上是专门为你想要的东西:pathinfo():
$path = $_FILES['image']['name']; $ext = pathinfo($path, PATHINFO_EXTENSION);
这也能发挥作用:
$array = explode('.', $_FILES['image']['name']); $extension = end($array);
一个更好的方法是使用strrpos substr(比爆炸更快):
$userfile_name = $_FILES['image']['name']; $userfile_extn = substr($userfile_name, strrpos($userfile_name, '.')+1);
但是,以检查文件的类型,使用mime_content_type是一个更好的办法:http://www.php.net/manual/en/function.mime-content-type.php
你可以用这个尝试MIME类型
$image = getimagesize($_FILES['image']['tmp_name']);
$image['mime'] 将返回的MIME类型 .
$image['mime']
此功能不需要GD库 . 你可以找到的文档here .
这将返回图像的mime类型 .
有些人使用 $_FILES["file"]["type"] ,但它不像浏览器给出的那样可靠,而不是PHP .
$_FILES["file"]["type"]
您可以使用 pathinfo() 作为ThiefMaster建议检索,图像扩展 .
pathinfo()
首先确保在开发过程中成功上载图像,然后再对图像执行任何操作 .
怎么样
$ext = array_pop($userfile_extn);
5 回答
无需使用字符串函数 . 您可以使用的东西,实际上是专门为你想要的东西:pathinfo():
这也能发挥作用:
一个更好的方法是使用strrpos substr(比爆炸更快):
但是,以检查文件的类型,使用mime_content_type是一个更好的办法:http://www.php.net/manual/en/function.mime-content-type.php
你可以用这个尝试MIME类型
$image['mime']
将返回的MIME类型 .此功能不需要GD库 . 你可以找到的文档here .
这将返回图像的mime类型 .
有些人使用
$_FILES["file"]["type"]
,但它不像浏览器给出的那样可靠,而不是PHP .您可以使用
pathinfo()
作为ThiefMaster建议检索,图像扩展 .首先确保在开发过程中成功上载图像,然后再对图像执行任何操作 .
怎么样