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. ...

enero 26, 2021 · 3 min · 475 palabras · Parzibyte

Subir varios archivos con PHP y AJAX

En este blog te he enseñado cómo subir uno o varios archivos con HTML y PHP puro, así como subir un archivo con AJAX usando FormData. Ahora te voy a enseñar cómo subir varios archivos (ilimitados o sin una longitud fija) usando JavaScript, AJAX, FormData y PHP. ...

enero 26, 2021 · 3 min · 546 palabras · Parzibyte

PHP: convertir arreglo a objeto

En este post de programación en PHP te enseñaré cómo convertir un arreglo o array a un objeto del tipo stdClass. Básicamente vamos a convertir un arreglo a un objeto, y en lugar de acceder con ["índice"] vamos a acceder con el operador flecha, así: ->índice. ...

enero 24, 2021 · 1 min · 164 palabras · Parzibyte

Vue CLI congelada en 40 % al ejecutar npm run serve

En este post te daré la posible solución a un problema que se presenta al usar Node.js, Vue, la Vue CLI y ejecutar el comando npm run serve. En mi caso se quedaba al 40 % y no avanzaba más allá de eso. WAIT Compiling… 40% building 1/2 modules 1 active ...

enero 23, 2021 · 1 min · 205 palabras · Parzibyte

PHP - Login con límite de intentos usando MySQL

En este artículo de programación con PHP y MySQL te mostraré cómo implementar un login, autenticación o inicio de sesión con límite de intentos, teniendo a MySQL como base de datos. Con el límite de intentos me refiero a que cuando el usuario coloque la contraseña incorrecta, se irá aumentando un contador de errores o de intentos fallidos. Si llega a determinado número, se bloqueará el acceso hasta que el contador se reinicie. Este ejemplo completo de código que te mostraré tiene el módulo de login, de creación de usuarios y de usuarios en donde se pueden borrar los intentos fallidos de cualquier usuario. Además, solo los usuarios que hayan iniciado sesión pueden acceder a la administración de usuarios del sistema. Recuerda que para guardar todos los datos vamos a usar MySQL y vamos a usar PHP como lenguaje de programación. ...

enero 21, 2021 · 8 min · 1689 palabras · Parzibyte

MySQL - Inner join con count usando subconsulta

En este artículo de consultas con MySQL te enseñaré un ejemplo y la sintaxis de cómo unir dos tablas pero para la segunda tabla obtener el conteo agrupado por un ID usando COUNT. Básicamente será un ejemplo de count con inner join en MySQL usando subconsultas; y al final verás que de hecho no vamos a usar inner join, bastará con la subquery. ...

enero 20, 2021 · 3 min · 531 palabras · Parzibyte

PHP - Comprobar si es primera visita

En este post de programación con PHP te enseñaré cómo comprobar si es la primera vez que un usuario entra a nuestra web. Es decir, saber si el usuario visita la página por primera vez o si ya la ha visitado antes. Para esto vamos a usar cookies y la función setcookie de PHP. ...

enero 20, 2021 · 3 min · 521 palabras · Parzibyte

Carrito de compras con JavaScript

En este post de JavaScript y desarrollo web te mostraré cómo implementar un carrito de compras en el lado del cliente con JS. Será un ejemplo completo de un proyecto en donde además de tener el carrito de compras tendremos un módulo de tienda (pero no habrá transacciones ni pagos reales) y módulo de gestión de productos. Este proyecto se basa ampliamente en el CRUD con AJAX, PHP y MySQL publicado anteriormente, pero agregamos la gestión del carrito de compras dentro de localStorage. Como siempre, te dejaré el código completo y listo para descargar. ...

enero 19, 2021 · 8 min · 1553 palabras · Parzibyte

Clase para carrito de compras con JavaScript y LocalStorage

En este post te mostraré una librería de JavaScript para guardar un carrito de compras en JavaScript del lado del cliente. Será una simple clase que encerrará el comportamiento y brindará funciones para todas las operaciones. Como dice el título, se usará localStorage para guardar y recuperar los valores, de este modo no importa el lenguaje del lado del servidor, pues se usará el lado del cliente. Por ahora te mostraré solo la librería/Clase, no su uso. Ya más adelante te traeré un ejemplo completo. ...

enero 19, 2021 · 3 min · 587 palabras · Parzibyte

CRUD con PHP, MySQL y AJAX

En este post te mostraré un ejemplo completo de CRUD que hace las operaciones fundamentales de la base de datos usando MySQL y PHP, pero además las llamadas se hacen con AJAX desde JavaScript. Al final te dejaré el código completo que podrás descargar, probar y modificar, mismo que tendrá todas las operaciones para enviar y recibir datos desde JavaScript a un servidor PHP que se conecta a MySQL. Básicamente todo se hará del lado del cliente, no vamos a procesar formularios con PHP, solo llamadas AJAX con JSON. Así que tendremos un CRUD con PHP y AJAX. No vamos a usar ninguna librería como React, Vue o Angular; será JavaScript puro. ...

enero 17, 2021 · 12 min · 2544 palabras · Parzibyte