PHP y cURL - petición con JSON

Enviar y recibir JSON con encabezados usando PHP y cURL

En este post voy a explicar cómo enviar datos codificados como JSON y cómo recibir datos igualmente de tipo JSON usando PHP y las funciones de cURL.

Al final seremos capaces de enviar datos JSON con PHP así como encabezados HTTP.

Gracias a que veremos cómo hacer esta comunicación podríamos conectar dos servidores de PHP en distintos hosts, o unificar el consumo de APIs de terceros en un solo lugar.

(más…)

Creación de tabla dentro de MySQL con migración de Laravel

CRUD de Laravel con MySQL: administrador de canciones

CRUD de Laravel con MySQL o MariaDB

Hoy toca el turno de Laravel (un framework de PHP) para conectarse a la base de datos más popular: MySQL.

Creación de tabla dentro de MySQL con migración de Laravel

Creación de tabla dentro de MySQL con migración de Laravel

En este post voy a explicar cómo conectar Laravel con MySQL o MariaDB, comenzando por configurar la base de datos, pasando a través de las rutas, repasando el motor de plantillas de Blade y tocando un poco el tema de los mensajes flash.

Al final vamos a tener un CRUD o ABC, en donde se verán las operaciones básicas de Laravel con MySQL: insert o insertar, update o actualizar, select o seleccionar y finalmente delete o eliminar.

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

Obtener columnas de una tabla de MySQL con PHP

Introducción

Acabamos de ver cómo obtener un listado de tablas de MySQL a través de PHP usando PDO. Pues bien, ahora veamos algo más preciso o específico y es: cómo obtener un listado de las columnas que tiene una tabla usando PHP y PDO.

Es decir, obtener la estructura o campos de una tabla, no sus datos. Para ello igualmente usaremos una consulta.

Lo que traerá la consulta será el tipo de dato y el nombre del campo o columna, pero podemos modificarla para que traiga más o menos datos.

(más…)

Script para respaldar una base de datos de MySQL con PHP

Introducción

En una clase que acabo de tomar tuve que investigar cómo respaldar una base de datos de MySQL desde PHP. Lo que terminé logrando es un script que hace un respaldo completo y genera un archivo que se guarda en el disco duro.

Es decir, utilizando únicamente PHP respaldar una base de datos de MySQL. Nada de mysqldump o llamadas al sistema.

Investigando encontré esta respuesta de stackoverflow y me pareció útil modificarla y traducirla para explicarla aquí.

(más…)

Pequeño sistema de ventas con CodeIgniter y MVC

Introducción

Sistema de ventas MVC con PHP y CodeIgniter

Sistema de ventas MVC con PHP y CodeIgniter

Luego de mucho tiempo al fin traigo una versión 2 del sistema de ventas publicado anteriormente. No es un sistema de ventas como tal, pues es un simple ejemplo, pero no lo puedo llamar de otro modo.

En ese post prometí que haría otro tutorial pero siguiendo el patrón MVC y qué mejor que hacerlo con CodeIgniter (para repasar, ya que justo ahora tengo que hacer un proyecto usándolo)

Lo que trae esta versión no es nada diferente en cuanto a su uso, sino a su programación.

(más…)

Rutas en PHP con Phroute

Introducción Los frameworks como Laravel traen incluido un router, algo que maneja y parsea las rutas por nosotros. Se encarga, por ejemplo, de saber si el verbo HTTP es GET, POST, PUT, etcétera. Y llama Read more…