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…

Bajo rendimiento en PHP usando Prepared Statements con MySQL

El día de hoy estaba indexando una carpeta y guardando los nombres sus ficheros dentro de una base de datos. Lo malo que noté es que para indexar sólo 400 archivos el tiempo requerido era de 20 segundos aproximadamente. Cosa que es muy, muy lenta.

Para demostrar esto vamos a crear un ejemplo que registre 500 filas usando un sencillo ciclo for. Vamos a asumir que $db es un objeto PDO y que tenemos la tabla “nombres” en nuestra base de datos.

(más…)