Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Last active December 26, 2018 17:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/8a9c4cb152404f08cf5e720ee5656fa8 to your computer and use it in GitHub Desktop.
Save parzibyte/8a9c4cb152404f08cf5e720ee5656fa8 to your computer and use it in GitHub Desktop.
Leer archivo CSV desde PHP
<?php
/*
Ejemplo de lectura de CSV
desde PHP
Visita parzibyte.me/blog
*/
# La longitud máxima de la línea del CSV. Si no la sabes,
# ponla en 0 pero la lectura será un poco más lenta
$longitudDeLinea = 1000;
$delimitador = ","; # Separador de columnas
$caracterCircundante = '"'; # A veces los valores son encerrados entre comillas
$nombreArchivo = "productos.csv"; #Ruta del archivo, en este caso está junto a este script
# Abrir el archivo
$gestor = fopen($nombreArchivo, "r");
if (!$gestor) {
exit("No se puede abrir el archivo $nombreArchivo");
}
# Comenzar a leer, $numeroDeFila es para llevar un índice
$numeroDeFila = 1;
while (($fila = fgetcsv($gestor, $longitudDeLinea, $delimitador, $caracterCircundante)) !== false) {
if ($numeroDeFila === 1) {
echo "Los encabezados son: ";
}
# Ahora $fila es un arreglo. Podríamos acceder al precio de compra en $fila[1]
# porque los índices de los arreglos comienzan en 0
foreach ($fila as $numeroDeColumna => $columna) {
echo "En la columna $numeroDeColumna tenemos a $columna\n";
}
# Para separar la impresión
echo "\n\n";
# Aumentar el índice
$numeroDeFila++;
}
# Al finar cerrar el gestor
fclose($gestor);
Nombre Precio de compra Precio de venta Cantidad
Mouse Logitech 400 500 10
Xiaomi Mi A1 500 600 15
Auriculares Sony 50 500 10
Galletas de chocolate 10 12 500
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment