martes, 30 de noviembre de 2010

Extraer RUTA, NOMBRE y EXTENCION de un archivo - PHP

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.


Fuente: http://www.propiedadprivada.com/


No hay comentarios:

Publicar un comentario