Descargando archivo pesado servido por PHP

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…)

Por parzibyte, hace

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.

Subir varios archivos con AJAX y PHP

Subir varios archivos con AJAX y PHP

(más…)

Por parzibyte, hace
Subir varios archivos con AJAX y PHP

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.

(más…)

PHP - Comprobar si el usuario visita la página web por primera vez

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.

PHP - Comprobar si el usuario visita la página web por primera vez

PHP – Comprobar si el usuario visita la página web por primera vez

Para esto vamos a usar cookies y la función setcookie de PHP.

(más…)

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.

(más…)

Ver carrito de compras con productos almacenados en localStorage usando JavaScript

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.

(más…)

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.

CRUD con MySQL, PHP, JavaScript y AJAX

CRUD con MySQL, PHP, JavaScript y AJAX

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.

No vamos a usar ninguna librería como React, Vue o Angular; será JavaScript puro.

(más…)

CRUD con MySQL, PHP, JavaScript y AJAX

PHP – Subir varios archivos

Recientemente necesitaba transferir unos archivos de manera inalámbrica desde un teléfono a mi computadora.

Lo más común en pleno 2021 sería enviarlos por Telegram, Google Drive, etcétera y luego descargarlo en la computadora, pero con la pésima calidad de internet que da mi proveedor de internet (cof cof Telmex) eso tardaría demasiado tiempo.

Así que escribí un pequeño script de PHP que sirve para subir varios archivos desde un formulario al servidor de PHP. Realmente es algo muy sencillo, solo es trabajo con el arreglo de $_FILES y move_uploaded_file, algo similar a lo visto en mi otro post.

(más…)

Árbol binario en Python - Estructura de datos

Árbol binario en Python

En este post vamos a implementar la estructura de datos Árbol binario en Python, además de implementar la declaración de un Nodo o rama.

También veremos cómo agregar al nodo sus partes izquierda y derecha, el método para agregar un valor de manera recursiva (y acomodarlo de acuerdo a la raíz) al árbol, recorrido inorden, postorden y preorden, así como la búsqueda de determinado valor en el árbol.

Básicamente implementaremos un árbol en Python con los métodos más comunes. Recuerda que los árboles binarios son una estructura de datos bastante interesante en donde la búsqueda de un elemento se hace de manera rápida por la naturaleza del mismo.

(más…)

Python: mayor y menor de arreglo

En este post de programación en Python te enseñaré cómo obtener el elemento mayor de una lista, así como el elemento menor. Ten en cuenta que yo me referiré a lista, array y arreglo como sinónimos.

Al final tendremos dos funciones que van a recibir un arreglo y devolver, respectivamente, el menor y mayor elemento de la lista, sin importar el tipo de dato.

(más…)

Python - Obtener elemento menor y mayor de una lista