Quiero permitir cargas de archivos muy grandes en nuestra aplicación PHP (cientos de megas - 8 gigas). Sin embargo, hay un par de problemas con esto.Cargas muy grandes con PHP
Navegador:
- archivos HTML tienen retroalimentación de basura, tenemos que cualquiera sondeo para el progreso (que es un poco tonto) o mostrar ninguna reacción en absoluto
- Flash Uploader pone archivo en la memoria antes de comenzar la carga
servidor:
- PHP nos obliga a establecer post_max_size, w que podría resultar en un ataque de DOS fácilmente explotable. Me gustaría no establecer esta configuración globalmente.
- El servidor también requiere que haya otras variables en los valores POST, como una clave secreta. Nos gustaría poder rechazar la solicitud de inmediato, en lugar de después de cargar todo el archivo.
Requisitos:
- HTTP es una necesidad.
- Soy flexible con la tecnología del lado del cliente, siempre que funcione en un navegador.
- PHP no es un requisito, si hay alguna otra tecnología que funcione bien en un entorno Linux, eso está perfectamente bien.
Si las partes internas de PHP no amortiguan la entrada completa, se podría escribir un módulo que va a revisar la ID en la cabecera antes de que el cuerpo de POST contra una base de datos. Ejecute el servidor especial en otro puerto, genere la ID de su servidor web principal. –
¿Está indicando que Flash está fuera de la mesa porque lee el archivo completo en la memoria antes de comenzar la carga? (Solo aclarando) –
Quiero ver qué sucede cuando muchos usuarios de la web cargan archivos de 8GB simultáneamente. –