Servir fuera de la carpeta raíz

Servidor web completo en Go

Vamos a ver cómo crear un servidor web en el lenguaje de programación Go, también conocido como Golang. Lo que haremos será crear un servidor simple que responderá a peticiones GET, es decir, a las direcciones URL y que servirá archivos.

Explicado de otra manera, nuestro server hará esto:

  • Responder a peticiones dependiendo de la URL
  • Leer parámetros que pasamos por la URL
  • Servir un directorio y archivos, por ejemplo HTML, imágenes, vídeos, etcétera; algo así como lo hace el buen Apache o el servidor en Python.

No necesitaremos librerías extras ni frameworks, pues el maravilloso lenguaje provee todo lo que necesitamos.

Por cierto, si no lo tienes, mira cómo instalar Go en Windows.

Este tutorial es completo, explicaré a detalle cada cosa, te aseguro que aunque es un poco largo te enseñará lo robusto que es el lenguaje Go en cuanto a la web.

(más…)

Subir archivo a PHP con HTML

Subir archivo a PHP (método simple)

Subir un archivo a PHP a través de un formulario, sin usar JavaScript ni otras librerías es algo muy fácil de hacer. Hay tantos tutoriales por ahí que a veces nos confundimos, por lo que hoy veremos cómo subir un archivo a PHP a través de un input de tipo file; sin usar librerías o cosas de esas.

El tutorial será lo más simple posible, para que podamos implementar la carga de archivos en PHP en otros lugares.

(más…)

Eliminar caché en Chrome

Luchando contra el caché de los navegadores

Evitar que los navegadores web guarden en caché nuestros scripts y plantillas

Los navegadores web guardan en caché algunos archivos para que a la próxima llamada se carguen más rápido. Esto es una mejora para el usuario final, pero no tanto para los programadores.

Hay ocasiones (y te das cuenta 2 horas después de depurar como loco) en las que un script de JavaScript falla, arreglas el error pero misteriosamente sigue apareciendo, por más que refresques o guardes cambios.

Lo mismo pasa con las vistas o los archivos HTML, a veces cambias algo en la vista y no aparece al usar la aplicación web.

Todo esto es debido al caché de los navegadores web. Hoy veremos cómo obligar a los navegadores a que ya no guarden ese caché, y también otras medidas que podemos aplicar en caso de emergencia.

(más…)

Obtener ruta del directorio padre en PHP

Ruta del directorio superior en PHP

La path del directorio padre de un script puede servir para muchas cosas. En mi caso lo uso para definir algunas constantes como la path base, la ruta de los assets y esas cosas.

Esto es importante cuando tenemos un archivo que se encarga de cargar a los demás, por ejemplo un autoload o un index.php en donde exponemos nuestra API.

En fin, veremos cómo obtener la ruta del directorio padre que tiene el script.

(más…)

Sistema de ventas en PHP montando en Android

Montar aplicación web de PHP y MySQL sobre Android

Implementar aplicación web con PHP y MySQL en nuestro dispositivo Android

Este post es la continuación de: Instalar XAMPP en Android sin root. Ahí hicimos un Hola mundo, aquí montaremos un sistema; el cual es un ejercicio de un sistema de ventas.

Recomiendo ver cómo instalar MySQL y cómo comenzar a trabajar con Termux.

Esto es mágico. Todas las fuentes, estilos y vistas serán cargadas desde Apache en nuestro Android. Se procesarán los archivos de PHP y finalmente todo se guardará en una base de datos.

(más…)

PHP ejecutándose en Android

Configurar e instalar Apache y PHP 7 en Android con Termux

Instalar servidor web y procesar archivos de PHP: armar una pila LAMPP en Android

Sí, estás leyendo bien. Esto no es un post de esos que usan engaños para atraer visitas, realmente vamos a instalar un servidor apache en Android, configurarlo para que procese archivos de PHP y finalmente probar una aplicación real que se conecta a MySQL: todo corriendo desde nuestro teléfono móvil.

 

PHP ejecutándose en Android

PHP ejecutándose en Android

El sistema que montaremos en Android será el sistema de ventas en PHP con PDO y MySQL. Ya deberías saber que no necesitamos que nuestro teléfono esté rooteado. Dejo el post demostrativo al final (y bueno, si no quieres bajar míralo de una vez).

(más…)

App que explica la conversión hexadecimal a decimal

Explicando la conversión hexadecimal a decimal manualmente usando JavaScript

App que explica cómo convertir hexadecimal a decimal en JavaScript con Vue.JS 2

Como lo dije en otro post, hice una pequeña app que te explica cómo convertir un número hexadecimal a decimal. No es como cuando vimos conversión entre bases con JS, pues eso se hacía pero el lenguaje se encargaba.

Lo que trato de hacer aquí es explicar el procedimiento para realizar la conversión. Esto es por si estamos en nuestras clases de matemáticas discretas o simplemente algún día necesitamos hacer la conversión hexadecimal-decimal a mano.

Nota: te invito a ver una app que convierte bases.

(más…)

Cuando descubrí que las contraseñas de una web no estaban hasheadas

Introducción

Esto es otra historia personal, se trata sobre una plataforma web que está mal programada, de la cual descubrí que no hashea (o encripta como dicen por ahí, aunque no es la forma correcta) las contraseñas de los usuarios, además de que no valida nada.

Todo comenzó porque por gracioso cambié mi contraseña y puse una de 100 caracteres. La cambié, cerré sesión y magia, ya no podía entrar.

(más…)

Subir archivos con JavaScript, fetch y FormData a PHP

Cargar archivo a PHP desde JavaScript con FormData

Introducción

Enviar datos con AJAX es algo relativamente fácil; pues al final de todo son simples datos. Ya sean cadenas o números, todo es texto. Pero algo distinto pasa cuando queremos cargar un archivo o fichero con JavaScript hacia PHP.

Esto es más complicado cuando queremos hacerlo con AJAX, pues no hay una forma estandarizada de enviar un archivo; y nos topamos con que el usuario podría seleccionar archivos pesados.

Lo que nos quedaría sería poner un formulario y agregar un <input type="file"> pero nuestra página perdería dinamismo. Afortunadamente desde hace algunos años existe la API de FormData, la cual ofrece una manera de enviar todo tipo de datos como se enviarían en un formulario; con la ventaja de poder hacerlo sin interrumpir al usuario o recargar la página.

(más…)

Extraer extensión de archivo en PHP

Introducción

PHP provee una manera fácil y rápida de obtener la extensión de un archivo. No necesitamos estar buscando el último índice del punto y cortando cadenas; no, nada de eso.

Veremos cómo obtener la extensión de un archivo, dada una cadena. Por ejemplo, si introducimos “canción.asd.asd.mp3” devolverá “mp3“.

(más…)

Convertidor binario octal decimal hexadecimal en JavaScript

Haciendo un conversor de bases numéricas con JavaScript y Vue JS 2

Introducción

Para reforzar y aplicar lo que vimos en cómo convertir entre binario, octal, decimal y hexadecimal en JavaScript decidí crear un convertidor (o conversor) de bases numéricas o números. Lo que hace es muy simple, convierte (desde cualquier base) a las siguientes:

  • Binario
  • Octal
  • Decimal
  • Hexadecimal

Para agregarle más comodidad al usuario pusimos la opción de copiar el texto directamente en el portapapeles.

Veamos una pequeña explicación.

(más…)

Explicación de watch en Vue JS 2

Introducción

Vue.Js es un framework maravilloso. Ofrece, al igual que AngularJS (y no sé cuáles otros, no los he usado) una forma de vigilar el cambio de un valor a través de un watch, watcher u observador. Esto permite observar el cambio de una variable, ya sea primitiva o compleja como un objeto o arreglo.

Veamos entonces cómo usar de forma correcta a watch en el framework web de JavaScript Vue.js

(más…)

Extraer información de archivos MP3 con PHP y Mp3Info

Introducción

Los archivos MP3 reservan un espacio para guardar sus etiquetas, algo así como metadatos. En ese espacio se guardan cosas relevantes del audio, por ejemplo el artista, álbum, título, número de pista y esas cosas.

Veamos cómo obtener toda esa información usando el lenguaje de programación PHP combinado con una librería.

Esta información también es conocida como ID3, citando a Wikipedia:

ID3 es un estándar de facto para incluir metadatos (etiquetas) en un archivo contenedor audiovisual, tales como álbum, título o artista. Se utiliza principalmente en ficheros sonoros como MP3.

Aquí dejo una imagen del código, únicamente para adornar el post. Utilicé Polacode con VSCode.

Usar Mp3Info y PHP para obtener etiquetas id3 de archivo MP3

Usar Mp3Info y PHP para obtener etiquetas id3 de archivo MP3

Vamos allá.

(más…)