Planteamiento
Algo que en principio parece tan trivial, se complica si empezamos a pensar en las diferentes posibilidades de uso (o mal uso) de una función de este tipo:
- Extensión sin nombre: .htaccess
- Nombre sin extensión: name
- Nombre simplón: name.jpeg
- Nombre complejo: name.surname.gif
- Ruta absoluta: /path/to/name.surname.tar.gz
- Ruta relativa: ../../path/to/name.surname.tar.gz
- BONUS: Cadena vacia para romper la función Comillas vacias ''
- BONUS 2: Cadena malformada para romper la función '/\/.path///file/.gif'
- BONUS 3: Ruta sin archivo '/path/to/folder/'
Requerimientos
Si además queremos aumentar los requerimientos, la cosa se puede complicar bastante:
- Yo como soy un perfeccionista de mierda, quiero 7 Campos:
- ¿ El fichero existe ? Puede ser útil en caso de querer borrar/comprobar
- ¿ El fichero es escribible ? Puede ser útil en caso de querer borrar/editar
- Los permisos del archivo en formato "humano"
- El Nombre sin extensión
- La Extensión sin nombre
- El Archivo (nombre+extensión)
- La Ruta
- La función debe ser totalmente compatible hacia atrás, al menos cubriendo a PHP4
- En la medida de lo posible, no quiero errores si el usuario me pasa datos no válidos
- No quiero cadenas vacias, si uno de los campos no existe quiero un lindo FALSE
- Quiero la ruta sin / al final, añadirla en otras partes del flujo de código es mucho más sencillo que tener que quitarla a posteriori.
No hay comentarios:
Publicar un comentario