Lenguaje PHP

Exportar archivos CSV PHP usando fputcsv()

Exportar archivos CSV PHP usando fputcsv(). En este tutorial, vamos a exportar registros desde MySQL a un archivo CSV utilizando la función PHP fputcsv(). Sin embargo, al usar la función no necesitamos formatear los datos para exportarlos a un archivo .csv.

Exportar archivos CSV PHP usando fputcsv()

A continuación, veremos puntos claves acerca de este tema.

¿Qué es la función fputcsv()?

La función fputcsv() acepta una matriz de resultados de base de datos y un puntero de recurso de archivo. Esta matriz de resultados se convierte al formato CSV y se escribe en el archivo de .csv de destino con la referencia del puntero de archivo dado.

¿Como crear y descargar un fichero CSV?

PHP es un lenguaje muy flexible y usando algunas funciones y ciclos predeterminados podemos crear y descargar un archivo CSV con contenido de MySQL. Además, usaremos el ciclo WHILE y consultas SQL.

La sintaxis de esta función

fputcsv($file_pointer, $input_array, $delimiter = ',', $enclosure = '"');

Descripción del script:

En este código, estamos creando el puntero de archivo abriendo el flujo de salida PHP. Y luego, establecemos este puntero y la matriz de campos de base de datos en la función fputcsv(). Por lo tanto, se llamará a esta función después de establecer el encabezado con el tipo de contenido, la disposición y el nombre del archivo CSV.

<?php
$conn = mysqli_connect("localhost", "root", "test", "examples");

$filename = "toy_csv.csv";
$fp = fopen('php://output', 'w');

$query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='examples' AND TABLE_NAME='toy'";
$result = mysqli_query($conn,$query);
while ($row = mysqli_fetch_row($result)) {
$header[] = $row[0];
}

header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
fputcsv($fp, $header);

$query = "SELECT * FROM toy";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_row($result)) {
fputcsv($fp, $row);
}
exit;
?>

Descargando Fichero CSV con PHP

Al ejecutar el script se podrá descargar un fichero de extensión CSV y podemos ver el siguiente contenido.

"id","name","code","category","price","stock_count",
"9","Music Aeroplane","TOY#MA01","Music Toys","250","500",
"10","Power Rangers","TOY#BT01","Battery Toys","1000","100",
"11","Remote Car","TOY#RMT01","Remote Control Toys","280","800",
"12","Bubbles","TOY#WT01","Water Games","100","1000",
"13","Cricket Cards","TOY#CD01","Card Games","200","80",
"14","Basket Ball","TOY#BB01","Outdoor Toys","2000","500",
"15","Word Puzzles","TOY#PZ01","Puzzles","200","200",
"16","Water Gun","TOY#WG01","Water Games","100","1000",

Conclusión al usar fputcsv

Hemos logrado generar una descarga dinámica al usar la función fputcsv del PHP y puede usarse en cualquier consulta SQL a través de un ciclo.

Recordemos que al cargar el archivo se generará una descarga directamente desde el navegador web, por otro lado, el archivo generado estará dividido pro comas y puede visualizarse usando Excel.

Espero que este articulo les ayude en sus proyectos web y no se olviden de compartir en sus amigos y redes sociales.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad