comprobar el tipo de fichero con javascript
si alguien esta pensando en hacer un un FTP vía web o un servidor de ficheros, puede que este código les sea útil
¿Que es lo que hace?
al enviar el formulario, comprueba que la extensión del fichero sea igual a:
BMP, GIF, JPG o PNG
En caso de que no se cumpla la condición, se devolverá un mensaje de error y se cancelará el envío
javascript:
function revisar(){
var obj=document.getElementById(‘txt_fichero’);
if(!obj.value.match(/\.(BMP|GIF|JPG|PNG)$/i)){
alert(‘tipo de fichero no valido’);
return false;
}
}
HTML:
<form action=”destino.php” onsubmit=”return revisar();” enctype=”multipart/form-data” method=”post”>
Elige un fichero:<br />
<input name=”fichero” id=”txt_fichero” type=”file” /><br />
<input type=”submit” value=”Enviar formulario” />
</form>
Nota:
Si lo que quieres es permitir subir cualquier tipo de fichero y restringir alguno, solo tienes que quitar el símbolo de exclamación (!), ejemplo:
if(obj.value.match(/\.(EXE|MSI|BIN)$/i))
Demostración:
Parte de este código se utiliza en cryptimg
Descargar ejemplo:
Muy bueno el estracto de código.
Ahora te reto a que encuentres solución a un problema al que me he enfrentado desde hace mucho en el upload via web (si te atreves).
Cómo conseguir el upload de archivos bastante grandes con PHP y Javascript. El sistema tradicional de move_uploaded_file() me impone un límite menor a un mega, mientras que el cargador de Wordpress me sube hasta 6Mb o más, y otras aplicaciones “prefabricadas” consiguen estos resultados.
Si encontraras la clave de esto, te debería una muy grande…. esque tiraría pétalos a tu paso.
Hola Alex,
sabes yo tambien tuve este problema al querer hacer una galeria de fotos
no se si funcionara en tu servidor, pero en servage.net tuve que añadir esto en un fichero htaccess
php_value max_execution_time 1000000
php_value post_max_size 100000000
php_value upload_max_filesize 100000000
puede que me haya pasado con los numeros, pero de esta manera me aseguro de que no se va a parar
Bastante interesante dejame decirlo, lo pondre a prueba, tus script’s son verdaderamente geniales!
Saludos ^^