我希望得到我正在上传的图片的文件扩展名,但我只是得到了一个数组。
$userfile_name = $_FILES['image']['name'];
$userfile_extn = explode(".", strtolower($_FILES['image']['name']));
有没有办法直接获得扩展?
答案 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);