Vaya al Contenido

PHP Archivos CSV - SuperHispano

Saltar menú
SuperHispano
+34 012 345 678
info@example.com
España 03:19:18 sábado 07/02/26
Saltar menú
Saltar menú
Saltar menú
Taller > PHP > Manejo de archivos

Manejo de Archivos CSV en PHP


En este artículo, aprenderemos cómo trabajar con archivos CSV en PHP utilizando las funciones fgetcsv() y fputcsv(). Los archivos CSV son muy comunes para almacenar datos en formato tabular, como listas de empleados o inventarios.
PHP proporciona herramientas muy útiles para trabajar con estos archivos de forma fácil y eficiente. Veremos cómo leer datos de un archivo CSV y cómo escribir en un archivo CSV con ejemplos claros.

Función fgetcsv()


La función fgetcsv() permite leer un archivo CSV y convertir cada línea en un array de PHP.

Sintaxis:


fgetcsv(
resource $stream,
?int $length = null,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\"
): array|false


$stream: El archivo abierto en modo de lectura.
$separator: El carácter que separa los campos (por defecto, una coma).
$enclosure: El carácter que envuelve los campos, si es necesario.
$escape: El carácter usado para escapar otros caracteres.

La función retorna un array con los valores de cada fila del archivo o false si hay un error.

Ejemplo de Uso:


Supongamos que tenemos un archivo llamado datos.csv con la siguiente estructura:

ID,Nombre,Correo,Edad
1,Juan,juan@gmail.com,28
2,María,maria@hotmail.com,35
3,Carlos,carlos@yahoo.com,40


El siguiente código lee este archivo CSV y muestra los datos en una tabla HTML:

<?php
$filename = 'datos.csv';
$data = [];

// Abrir el archivo
$f = fopen($filename, 'r');

if ($f === false) {
die('No se pudo abrir el archivo ' . $filename);
}

// Leer cada línea del archivo CSV
while (($fila = fgetcsv($f)) !== false) {
$data[] = $fila;
}

// Cerrar el archivo
fclose($f);

// Mostrar los datos en una tabla HTML
echo "<table border='1'>";
foreach ($data as $fila) {
echo "<tr>";
foreach($fila as $valor) {
echo "<td>$valor</td>";
}
echo "</tr>";
}
echo "</table>";
?>


Salida esperada:

Manejo de Archivos
ID Nombre Correo Edad
1 Juan juan@gmail.com 28
2 María maria@hotmail.com 35
3 Carlos carlos@yahoo.com 40

Función fputcsv()


La función fputcsv() permite escribir datos en un archivo CSV desde un array.

Sintaxis:


fputcsv(
resource $stream,
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int|false


$stream: El archivo abierto en modo de escritura.
$fields: Un array con los datos a escribir.
$separator: El separador entre campos (por defecto, una coma).

Ejemplo de Uso:


Supongamos que tenemos un array con datos de productos y queremos guardarlo en un archivo CSV.

<?php
$productos = [
["ID", "Nombre", "Precio"],
[101, "Laptop", "800"],
[102, "Teclado", "20"],
[103, "Mouse", "10"]
];
$filename = 'productos.csv';

// Abrir el archivo en modo escritura
$f = fopen($filename, 'w');

if ($f === false) {
die('Error al abrir el archivo ' . $filename);
}

// Escribir cada fila en el archivo CSV
foreach ($productos as $producto) {
fputcsv($f, $producto);
}

// Cerrar el archivo
fclose($f);
?>


Este código crea un archivo productos.csv en el que se guardan los datos de productos con las siguientes columnas:

,Nombre,Precio
101,Laptop,800
102,Teclado,20
103,Mouse,10


Conclusión


Trabajar con archivos CSV en PHP es simple utilizando las funciones fgetcsv() y fputcsv(). Estas herramientas son útiles cuando necesitamos importar o exportar datos en un formato que sea legible por programas de hoja de cálculo como Excel. Con los ejemplos que hemos visto, puedes integrar esta funcionalidad en tus proyectos PHP fácilmente.
+34 012 345 678
+34 012 345 678 (fax)
example@superhispano.com
Creado con WebSite X5
Regreso al contenido
Icono de la aplicación
SuperHispano Instale esta aplicación en su pantalla de inicio para una mejor experiencia
Toque Botón de instalación en iOS y luego "Agregar a su pantalla"