¿Cómo obtener la extensión del archivo en PHP? [duplicar]
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?
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);
Esto también funcionará:
$array = explode('.', $_FILES['image']['name']);
$extension = end($array);
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