Como dice Mauro, puedes usar la función fputcsv()
que existe en PHP desde PHP 5. Te paso un ejemplo sencillo de código que podrías usar para exportar los datos desde una tabla MySQL a un archivo CSV usando PHP, de la manera más genérica posible, aunque ya tú lo tendrás que peronalizar para adaptarlo a lo que necesites.
Primero, necesitarás y luego ejecutar una consulta para obtener los datos que quieras exportar. Finalmente, puedes escribir esos datos en un archivo CSV.
<?php
// Vamos a establecer una conexión con tu base de datos
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";
// Creamos la conexión con mysqli
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificamos la conexión
if ($conn->connect_error) {
die("Uppps... hubo un error al crear la conexión: " . $conn->connect_error);
}
// Seleccionar la tabla
$query = "SELECT * FROM tabla_que_deseas_exportar_a_CSV";
$result = $conn->query($query);
if ($result->num_rows > 0) {
// Crear archivo CSV
$filename = "export.csv";
$file = fopen($filename, "w");
// Obtener los nombres de las columnas
$columns = array();
$row = $result->fetch_assoc();
foreach ($row as $key => $value) {
$columns[] = $key;
}
// Escribimos los nombres de las columnas en CSV
fputcsv($file, $columns);
// Escribimos la primera fila en CSV
fputcsv($file, $row);
// Escribimos las filas restantes en el archivo CSV
while ($row = $result->fetch_assoc()) {
fputcsv($file, $row);
}
// Cerramos el fichero
fclose($file);
echo "Exportación completada!";
} else {
echo "Esta tabla no tiene datos, por lo que no se ha exportado nada";
}
// Cerramos la conexión con la base de datos
$conn->close();
?>
Tendrás que modificar las variables $servername
, $username
, $password
, $dbname
, para que se adapten a tu servidor de MySQL. Además en el select hay un nombre de tabla que tendrás que cambiar al que sea adecuado para conseguir el volcado a CSV de la tabla que necesites exportar.
Ten en cuenta que el archivo export.csv
se creará en la misma carpeta donde se encuentra el script PHP.