Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

JavaScript: descargar archivo con fetch

En este post vamos a ver cómo descargar un archivo en segundo plano usando JavaScript del lado del cliente y la función fetch para hacer peticiones HTTP.

Veremos cómo descargar un archivo como blob usando AJAX para después preguntar al usuario en dónde guardarlo, sugiriendo un nombre.

Lo bueno de esto es que podemos enviar parámetros para solicitar la descarga del archivo (por ejemplo, si el mismo estuviera protegido por contraseña o autentificación).

(más…)

Laravel: crear archivo de Excel

En este post veremos cómo crear un archivo de Excel usando Laravel. Verás que es realmente sencillo.

Te pondré un ejemplo simple y a partir del mismo podrás crear hojas de cálculo usando los modelos de Laravel que se conectan a la base de datos o trayendo el contenido desde cualquier lugar.

Vamos a usar PhpSpreadsheet del cual ya existe un post con PHP puro, pero ahora veremos cómo usar PhpSpreadsheet con Laravel.

(más…)

PHP – Servir archivo grande para su descarga

En este post te mostraré la manera óptima que utiliza poca memoria para servir un archivo con PHP y que el usuario lo descargue, sin importar el peso del archivo.

Podemos usar readfile para forzar la descarga de un archivo con PHP, pero si el archivo es muy grande y la memoria no es suficiente, habrá problemas como:

PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 2998272 bytes)

Por ello es que en este post te enseñaré cómo servir un archivo grande con PHP para su descarga, utilizando poca memoria y leyendo el archivo en fragmentos, con una alternativa a readfile.

(más…)