¿Cómo valido el tipo de archivo de una carga de archivo en caso de que se carguen varios archivos de una sola vez?

Mi requisito es cargar varios archivos jpeg de una vez, el problema es cuando alguien carga cualquier otro archivo de extensión junto con jpeg, en este caso, la alerta llega después de que el archivo llega al servidor, es decir, tiene un archivo mp15 de 3 mb, si lo cargamos, el error viene después de la transferencia de datos de 15mb al servidor...

¿Hay algo que pueda hacer para verificar la extensión del archivo antes de la transferencia de datos real? Estoy usando cake php.

Agradeciendo su ayuda y apoyo.

preguntado el 12 de junio de 12 a las 09:06

ya, en el PHP antes de llamar a su función de carga, tome $_FILE['name'] y haga sus comprobaciones antes de enviarlas. eche un vistazo a esta clase, hace mucho y hace que sea fácil de validar antes de subirla: verot.net/php_class_upload.htm -

@Eli Creo que quiere decir enviar al servidor por carga. Y para verificar php, el archivo debe enviarse al servidor. -

oh, pensé que quería verificar antes de que se envíen datos grandes que causen un retraso antes de los controles de seguridad. -

1 Respuestas

Solo podría lograr esto con secuencias de comandos del lado del cliente si desea capturar el formato del archivo ANTES del envío de datos si se trata de un formulario HTML estándar que se ha generado con Cake. Esto se debe a que el formulario HTML y el navegador manejan la publicación de datos.

Es cierto que podría invocar algunos PHP sofisticados CON secuencias de comandos para realizar la verificación de extensiones, pero probablemente no sea necesario aquí, necesita secuencias de comandos independientemente para reaccionar a su botón "enviar" presionado por el usuario

Eche un vistazo al complemento jQuery Validation y, en particular, a su atributo "Aceptar". aquí por ejemplo, o use un simple comprobador de extensiones JS personalizado.

$("#myform").validate({
   rules: {
   myfield: {
     required: true,
     accept: "jpg"
}

}});

Respondido el 12 de junio de 12 a las 11:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.