如何在PHP中获取文件扩展名?

时间:2012-04-28 22:46:12

标签: php file-extension

  

可能重复:
  How to extract a file extension in PHP?

我希望得到我正在上传的图片的文件扩展名,但我只是得到了一个数组。

$userfile_name = $_FILES['image']['name'];
$userfile_extn = explode(".", strtolower($_FILES['image']['name']));

有没有办法直接获得扩展?

5 个答案:

答案 0 :(得分:1103)

无需使用字符串函数。您可以使用实际设计的内容来满足您的需求:pathinfo()

$path = $_FILES['image']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);

答案 1 :(得分:51)

这也可行:

$array = explode('.', $_FILES['image']['name']);
$extension = end($array);

答案 2 :(得分:25)

更好的方法是使用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

答案 3 :(得分:23)

你可以尝试使用mime类型

$image = getimagesize($_FILES['image']['tmp_name']);

$image['mime']将返回mime类型。

此功能不需要GD库。您可以找到文档here

这将返回图像的mime类型。

有些人使用$_FILES["file"]["type"],但它不像浏览器给出的那样可靠,而不是PHP。

您可以使用pathinfo()作为ThiefMaster建议检索图片扩展名。

首先确保在开发过程中成功上传图像,然后再对图像执行任何操作。

答案 4 :(得分:11)

怎么样

$ext = array_pop($userfile_extn);