Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create CSV and save on local/server automatically

Tags:

php

csv

download

I need to create a CSV file in PHP and that created file should be saved on local/server rather than asking to save.

like image 519
John Smith Avatar asked Jun 10 '13 13:06

John Smith


1 Answers

For the PHP versions later than 5.1.0 you can use the built-in CSV functions.

<?php

$data_array = array (
            array ('col1','col2'),
            array ('2','2'),
            array ('3','6'),
            array ('4','2'),
            array ('6','5')
        );

$fp = fopen('csvfile.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

This code will do the trick

$data_array = array (
            array ('1','2'),
            array ('2','2'),
            array ('3','6'),
            array ('4','2'),
            array ('6','5')
            );

$csv = "col1,col2 \n";//Column headers
foreach ($data_array as $record){
    $csv.= $record[0].','.$record[1]."\n"; //Append data to csv
    }

$csv_handler = fopen ('csvfile.csv','w');
fwrite ($csv_handler,$csv);
fclose ($csv_handler);

echo 'Data saved to csvfile.csv';

but be sure about permission of csvfile so your script can create or write on it

like image 186
Samy Massoud Avatar answered Oct 02 '22 20:10

Samy Massoud