¿Cómo obtener la extensión del archivo en PHP? [duplicar]

Resuelto Keith Power asked hace 54 años • 5 respuestas

Deseo obtener la extensión de archivo de una imagen que estoy cargando, pero acabo de recuperar una matriz.

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

¿Hay alguna manera de obtener simplemente la extensión?

Keith Power avatar Jan 01 '70 08:01 Keith Power
Aceptado

No es necesario utilizar funciones de cadena. Puedes usar algo que esté realmente diseñado para lo que quieres pathinfo():

$path = $_FILES['image']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
ThiefMaster avatar Apr 28 '2012 22:04 ThiefMaster

Esto también funcionará:

$array = explode('.', $_FILES['image']['name']);
$extension = end($array);
Andrey avatar Aug 22 '2012 20:08 Andrey

Un mejor método es usar strrpos + substr (más rápido que explotar para eso):

$userfile_name = $_FILES['image']['name'];
$userfile_extn = substr($userfile_name, strrpos($userfile_name, '.')+1);

Pero, para verificar el tipo de archivo, usar mime_content_type es una mejor manera: http://www.php.net/manual/en/function.mime-content-type.php

Julien avatar Apr 28 '2012 22:04 Julien