¿Cómo obtener la extensión de un archivo en PHP? (guía detallada)
¡Hola a todos! Soy nuevo en PHP y no puedo entender una tarea aparentemente simple: ¿cómo obtener correctamente la extensión de un archivo a partir de su nombre?
Tengo una variable que contiene la ruta al archivo, por ejemplo:
```php
$filename = "images/myphoto.jpg";
```
Necesito extraer solo la extensión — en este caso "jpg". Probé varios métodos, pero todos funcionan incorrectamente en diferentes situaciones.
Por ejemplo, usé explode:
```php
$parts = explode('.', $filename);
$ext = end($parts);
```
Pero si el nombre del archivo tiene varios puntos, como "my.file.name.jpg", este método devuelve "jpg". Esto parece funcionar, pero ¿hay un método más confiable?
¿Y qué pasa si el archivo no tiene extensión? ¿O si es un archivo del sistema como ".htaccess"? ¿O si la ruta contiene carpetas con puntos, como "/var/www/site.com/uploads/archive.tar.gz"?
Busqué en Google y encontré la función pathinfo(), pero no entendí bien cómo usarla correctamente. Devuelve un array, y allí está el elemento 'extension'.