如何在PHP中获取文件扩展名?
可能重复:
如何在PHP中提取文件扩展名?
我希望得到我正在上传的图像的文件扩展名,但我只是得到一个数组。
$userfile_name = $_FILES['image']['name']; $userfile_extn = explode(".", strtolower($_FILES['image']['name']));
有没有办法只是得到扩展本身?
不需要使用string函数。 你可以使用你想要的东西: 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);
但是,要检查文件的types,使用mime_content_type是一个更好的方法: http ://www.php.net/manual/en/function.mime-content-type.php
你可以试试这个MIMEtypes
$image = getimagesize($_FILES['image']['tmp_name']);
$image['mime']
将返回MIMEtypes。
这个函数不需要GD库。 你可以在这里find文档。
这将返回图像的MIMEtypes。
有些人使用$_FILES["file"]["type"]
但它是不可靠的,由浏览器给出,而不是由PHP。
您可以像ThiefMasterbuild议的那样使用pathinfo()
来检索图像扩展名。
首先确保图像在开发过程中成功上传,然后再对图像进行任何操作。
怎么样
$ext = array_pop($userfile_extn);