Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2009, 22:05
ZequeZ
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Pregunta ¿Como hago para verificar el nombre de un archivo con expresiones regulares? :S

Bueno, la cosa es que los archivos pueden tener casi cualquier caracter... Es decir... Creo que cuaquiera menos la "/"... Y para insertar eso en una base de datos es imposible, ya que practicamente dejaría las puertas abiertas a injecciones xDDD.

Esta es la expresión que estoy usando

Código:
preg_match("/^(?:http:\/\/)?[a-z0-9]{1}[a-z0-9-\.)]*\.[a-z]+(?:\/{1}[a-z0-9 -_\.]+)*\/?$/", $URL);

Acepta cosas como:
"http://www.ze.quezs--123co-m.ar.ar.9ar.ar/asd/"
"http://www.ze.quezs--123co-m.ar.ar.9ar.ar/asd"
"ze.quezs--123co-m.ar.ar.9ar.ar/asd/"

Pero por ejemplo, esto no lo acepta:
"http://www.ze.quezs--123co-m.ar.ar.9ar.ar/asd/indexxxxx()·$%.hml"
Es para una URL en realidad, pero al final no acepta algunos caracteres... ¿Que piensan? ¿Lo dejo así, y que se jodan si quieren poner como URL un archivo? xDD

Yo personalmente lo dejaría así, pero quiero alguna otra opinion xD.