Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading *.csv files from directory and showing the content of each file fails

I need help with reading the folder and opening / outputting the csv data, I have used examples other people have written but none of them have worked for me.

What I currently have is this, but it doesn't output the files:

$files = scandir($PathToCreate.$version."/"); //scan the folder
foreach($files as $file) { //for each file in the folder

//The following is another example I found but does not output anything I just need to open each file and be able to output / target specific data

$csv = array();
$lines = file($file, FILE_IGNORE_NEW_LINES);

foreach ($lines as $key => $value)
{
    $csv[$key] = str_getcsv($value);
} 
print_r($csv)

}
like image 312
Dgeorgex000000 Avatar asked Apr 13 '15 15:04

Dgeorgex000000


People also ask

Which function is used to read the contents of CSV?

csv() Function. read. csv() function in R Language is used to read “comma separated value” files. It imports data in the form of a data frame.


1 Answers

This should work for you:

(Here I first grab all files out of the directory which have the extension *.csv with glob(). After this I loop through each file and read it with fopen() and fgetcsv().)

<?php

    $files = glob("$PathToCreate$version/*.csv");

    foreach($files as $file) {

        if (($handle = fopen($file, "r")) !== FALSE) {
            echo "<b>Filename: " . basename($file) . "</b><br><br>";
            while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
                echo implode("\t", $data);
            }
            echo "<br>";
            fclose($handle);
        } else {
            echo "Could not open file: " . $file;
        }

    }

?>
like image 159
Rizier123 Avatar answered Oct 12 '22 23:10

Rizier123