Quiero servir facturas para descargar. Actualmente estoy usando un esquema de numeración simple (factura-01.pdf, factura-02.pdf, etc.). Sé que podría usar hashes para ocultar los datos.
¿También es posible usar PHP y servir las facturas al no hacer que el usuario las señale directamente?
Respuestas:
Incluso hay un ejemplo de esto en php.net
O ampliar eso un poco con
fuente
Sam tiene la respuesta. También póngalos en un directorio con .htaccess:
Eso evitará el acceso directo si conocen la URL. Todavía puede leerlo desde su script PHP con readfile ().
fuente
Encontré esta excelente guía: Cómo servir archivos grandes a través de PHP .
Especialmente útil es el truco lighttpd: si su PHP se ejecuta bajo lighhtpd, el script solo necesita establecer el encabezado "X-Sendfile", y lighttpd leerá y enviará el archivo por usted (y bien sabe cómo enviar archivos).
ACTUALIZAR:
(Citado de la documentación de NginX )
fuente
Mi función con detección automática de tipo MIME:
uso:
Presta atención para no enviar nada más con PHP (sin eco).
fuente