En esta página:
Demo Github
Con PHP podemos crear un archivo en formato CSV, solo necesitamos pasar un array de datos y crear el archivo con los datos para ser descargados, hay muchas maneras de presentar o manipular el archivo CSV, un ejemplo es Mailchimp, esta aplicación y otras similares, ofrecen al usuario poder exportar un archivo CSV con correos de diferentes usuarios, en este Post vamos aprender como crear un archivo CSV utilizando un array de datos.
Antes de continuar, te invito a escuchar el Podcast: “Dominio del trabajo con Varios Lenguajes de Programación.”
Sound Cloud:
Spotify:
Bien ahora continuemos con el Post: Como Convertir un Array a un Archivo CSV en PHP.
La función fputcsv() nos permite dar formato a una línea como como archivo CSV y escribe datos en el archivo CSV. Este archivo con datos debe ser leído y los campos se envían como parámetros a la función fputcsv() y esta devuelve el string escrito.
A nivel de programación podemos gestionar y manipular un archivo CSV de diferentes maneras, podemos implementarle las funcionalidades que necesitemos, yo simplemente voy a crear el archivo CSV con datos en su interior y cada vez que se ingrese un nuevo dato, se escribirá debajo del dato anterior, formando así una lista de datos.
Primero creo un formulario HTML y debajo del formulario mostraré un mensaje cuando el archivo CSV es creado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<form action="cacsv.php" method="post"> <div class="form-group"> <label for="nombre" class="negrita2">Nombre</label> <input type="text" class="form-control" id="nombre" name="nombre" placeholder="Ingresa el nombre" required> </div> <div class="form-group"> <label for="precio" class="negrita2">Precio</label> <input type="text" class="form-control" id="precio" name="precio" placeholder="Ingresa el precio" required> </div> <div class="form-group"> <label for="stock" class="negrita2">Stock</label> <input type="text" class="form-control" id="stock" name="stock" placeholder="Ingresa el stock" required> </div> <button type="submit" class="btn btn-primary">Generar CSV</button> <button type="reset" class="btn btn-danger">Limpiar</button> </form> <br><br> <!-- Mensaje --> <?php if (isset($_GET['estado']) && $_GET['estado'] == 1) { echo "<div class='alert alert-success' role='alert'>Archivo CSV Creado Satisfactoriamente ! </div>"; echo "Descargar: <a href=archivo.csv>archivo.csv</a>"; } ?> |
Ahora voy a crear un archivo PHP llamado cacsv.php (En el código he colocado lo que hace cada línea del código):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php // Recibimos los datos del formulario $datos = array( $_POST['nombre'], $_POST['precio'], $_POST['stock'] ); // Creamos y abrimos un archivo con el nombre 'archivo.csv' para escribir los datos que recibimos del formulario $fp = fopen('archivo.csv', 'a'); // Escribimos los datos en el archivo 'archivo.csv' fputcsv($fp, $datos); // Después de terminar de escribir los datos, cerramos el archivo 'archivo.csv' fclose($fp); // Redireccionamos a la página del formulario, le pasamos el estado en 1 header('Location: index.php?estado=1'); exit(); ?> |
Eso es todo, con esto si llenamos los campos del formulario y hacemos clic en el botón Generar CSV, se genera el archivo CSV como en la siguiente imagen:
Bien, puedes ver al inicio de este tutorial, una Demo con el formulario en acción, asimismo puedes acceder al código en el repositorio GitHub.
Conclusión
Hemos aprendido lo sencillo que es crear un archivo CSV con PHP, conforme domines el código, podrás añadir otras funcionalidades que necesites.
Nota(s)
- El código HTML y PHP usado en este tutorial, puede quedar obsoleto, ser modificado o continuar vigente, esto no depende de mi, si no de los desarrolladores que dan soporte a PHP y HTML.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.