Go – Servir carpeta por HTTP

En este post te mostraré cómo servir un directorio por medio de HTTP usando Go. Básicamente verás cómo servir contenido estático para que puedas acceder a él desde el navegador.

De este modo podrás servir contenido en general, una aplicación web o el frontend de la misma, ya que puedes servir CSS, JS y HTML.

(más…)

Python – Trabajo con archivos en UTF-8

Hace un momento estaba trabajando en un script de Python 3 en donde se lee y escribe cierto texto, solo que ocurrió un problema cuando dentro del contenido del archivo se encontraba una ñ.

Por lo tanto en este post te enseñaré cómo leer y escribir archivos de texto codificados como UTF-8 para que soporte los caracteres especiales como la ñ, acentos, etcétera; casi todo lo que conforma el idioma español.

Para ello simplemente vamos a indicar el encoding al abrir los archivos.

(más…)

Archivos en la nube con software escrito en PHP

Software gestor de archivos en la nube con PHP y MySQL

En este post te mostraré un sistema que acabo de crear. Se trata de un software para el alojamiento de archivos en la nube usando PHP y MySQL. Es decir, algo como un Google Drive, Dropbox o Mega pero de forma básica.

Archivos en la nube con software escrito en PHP

Archivos en la nube con software escrito en PHP

Gracias a este software open source de archivos en la nube podemos montar nuestro propio disco en la nube en la red local o en internet, subir archivos y acceder a ellos desde cualquier dispositivo, pues este programa es responsivo.

También podremos compartir los archivos para su descarga, usando un hash único que podemos eliminar más tarde.

A través de este post te mostraré los módulos del programa, explicaré un poco la arquitectura y te enseñaré cómo descargarlo e instalarlo.

(más…)

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

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

Redireccionar salida a archivo

Enviar contenido de archivo a programa y automatizar pruebas

En este post de programación te enseñaré a automatizar pruebas cuando solicitamos datos por teclado, sin importar el lenguaje de programación.

Cuando escribimos programas en donde se solicitan datos al usuario a través del teclado y probamos esos programas, debemos escribir los valores manualmente.

Si modificamos el programa o hay un error, lo volvemos a ejecutar y a llenar esos valores. Esto se hace tedioso cada vez, pues invertimos más tiempo probando que arreglando los errores o agregando mejoras.

Obviamente me estoy refiriendo a los programas por consola y en cuanto a “automatizar” me refiero a usar un archivo de texto con valores para pasarlos al programa en lugar de escribirlos manualmente.

Veamos entonces cómo automatizar la entrada de datos en programas. Te enseñaré un ejemplo con C y otro con Python, aunque este paradigma funcionará para cualquier otro lenguaje.

(más…)

Especificar extensión de archivo en input file de HTML

En este post de HTML 5 te mostraré cómo aceptar determinada extensión de archivo en un input de tipo file de HTML.

Anteriormente te mostré cómo aceptar solo imágenes en un seleccionador de archivos de HTML, ahora te enseñaré como especificar la extensión de los archivos permitidos para el input.

Recuerda que esto solo es validación del lado del cliente, y que su propósito es meramente de diseño, no de seguridad.

(más…)