¿Cómo convertir una array a un archivo CSV en PHP?

Para convertir una array en un archivo CSV, podemos usar la función fputcsv() . La función fputcsv() se usa para formatear una línea como archivo CSV (valores separados por comas) y lo escribe en un archivo abierto. El archivo que debe leerse y los campos se envían como parámetros a la función fputcsv() y devuelve la longitud de la string escrita en caso de éxito o FALSO en caso de falla.

Sintaxis:

fputcsv( file, fields, separator, enclosure, escape )

Ejemplo 1:

<?php
  
// Create an array of elements
$list = array(
    ['Name', 'age', 'Gender'],
    ['Bob', 20, 'Male'],
    ['John', 25, 'Male'],
    ['Jessica', 30, 'Female']
);
   
// Open a file in write mode ('w')
$fp = fopen('persons.csv', 'w');
  
// Loop through file pointer and a line
foreach ($list as $fields) {
    fputcsv($fp, $fields);
}
  
fclose($fp);
?>

Después de ejecutar el programa PHP anterior, puede encontrar un archivo con el nombre persons.csv en el mismo directorio donde se encuentra el archivo del programa. Cuando abra este archivo con una aplicación de lectura de archivos CSV como Microsoft Excel, verá el contenido como se muestra en la imagen a continuación.

Salida en Microsoft Excel

Ejemplo 2: suponga que desea colocar todas las entradas del formulario en un archivo CSV y luego crear primero un formulario para tomar la entrada del usuario y almacenarla en una array. Luego convierta el elemento de la array en un archivo csv.

index.html

<!DOCTYPE html> 
<html>
      
<head>
    <title>
        How to Convert Array to
        CSV file in PHP ?
    </title>
</head>
  
<body> 
          
    <!-- form tag to create form --> 
    <form action = "gfg.php" method = "post"> 
              
        Name <input type = "text" name = "name" /> 
                  
        <br><br> 
              
        Email <input type = "text" name = "email" /> 
                  
        <br><br>
              
        Phone <input type = "text" name = "phone" /> 
              
        <input type = "submit" name = "submit" value = "Submit"> 
    </form> 
</body>
  
</html>

gfg.php

<?php
   
$data = array(
    $_POST['name'],
    $_POST['email'],
    $_POST['phone']
);
  
// Open file in append mode
$fp = fopen('databse.csv', 'a');
  
// Append input data to the file  
fputcsv($fp, $data);
  
// close the file
fclose($fp);
?>

Producción:

  • Formulario de entrada:
  • Visualización de datos de entrada en Excel como salida:

PHP es un lenguaje de secuencias de comandos del lado del servidor diseñado específicamente para el desarrollo web. Puede aprender PHP desde cero siguiendo este tutorial de PHP y ejemplos de PHP .

Publicación traducida automáticamente

Artículo escrito por frikishaan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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