¿Cómo obtener la extensión de un archivo en PHP? Métodos confiables y trampas
¡Hola a todos! Acabo de empezar a estudiar PHP y estoy escribiendo un pequeño script para subir imágenes al servidor. Necesito verificar la extensión del archivo subido para, por ejemplo, permitir solo JPG y PNG.
He intentado usar la función `explode()` y tomar el último elemento del array, pero parece un parche. Aquí está mi código:
```php
$filename = 'myphoto.jpg';
$parts = explode('.', $filename);
$extension = end($parts);
echo $extension; // jpg
```
Pero, ¿qué pasará si el nombre del archivo contiene varios puntos, por ejemplo `my.file.name.jpg`? ¿O si el archivo no tiene extensión? He oído que hay funciones especiales para esto. Por favor, indíquenme cómo obtener la extensión de un archivo en PHP de manera correcta y segura. ¿Qué funciones integradas existen y cuál es mejor usar en diferentes situaciones? ¡Gracias de antemano por la ayuda!
<<>>
Solución principal: la función pathinfo()
La forma más correcta y universal de obtener la extensión de un archivo en PHP es usar la función incorporada pathinfo()