Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/10/2003, 09:01
Avatar de ferny
ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 1 mes
Puntos: 55
Yo uso algo así:

Código:
<script>
// Determinamos las extensiones de los archivos
extArray = new Array('zip', 'rar', 'ace'); // <---- Extensiones válidas
function extension(file) {
	allowSubmit = false;
	if (!file) return;
	file = file.slice(file.lastIndexOf("\\")+1);
	// Sacamos el nombre del archivo (y solucionamos bug Opera 6)
	if (file.indexOf('"') != -1) {
		var archivo = file.substring(0,file.indexOf('"'));
		file = file.substring(0,file.indexOf('"'));
	} else {
		var archivo = file;
	}
	// Sacamos la extension del archivo y la pasamos a minusculas
	file = file.slice(file.lastIndexOf(".")+1);
	var ext = file.toLowerCase();
	// Comparamos con los elementos del array
	for (var i = 0; i < extArray.length; i++) {
		if (extArray[i] == ext) { 
			allowSubmit = true;
			break;
		}
	}
	// Si la extension no es válida, avisamos	
	if (!allowSubmit) {
		alert("Se permiten únicamente archivos con la extensión:\n" + (extArray.join("\n")) + "\n\nEl archivo " + archivo + " no es válido. Por favor, seleccione otro archivo e intente de nuevo.");
		document.subir.archivo.focus();
	}
	return allowSubmit;
}
</script>

<form method="post" action="script.php" enctype="multipart/form-data" onSubmit=" return extension(this.form.archivo.value)">
<input type="file" name="archivo">
De todas formas esta validación es fácil que se la salte el usuario por ser javascript, lo mejor es que además de esto pongas una validación a nivel de servidor (PHP, ASP...)
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.

Última edición por ferny; 17/10/2003 a las 09:04