Συνάρτηση fgetcsv
Η συνάρτηση fgetcsv διαβάζει μια γραμμή από ένα αρχείο και την αναλύει σε πεδία σε μορφή CSV. Ως πρώτη παράμετρο η συνάρτηση δέχεται έναν δείκτη σε ανοιχτό αρχείο, ως δεύτερη - το μέγιστο μήκος γραμμής, ως τρίτη - το διαχωριστικό πεδίων (από προεπιλογή κόμμα), ως τέταρτη - τον χαρακτήρα οριοθέτησης (από προεπιλογή διπλά εισαγωγικά), ως πέμπτη - τον χαρακτήρα διαφυγής.
Σύνταξη
fgetcsv(
resource $handle,
int $length = 0,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\"
);
Παράδειγμα
Ας διαβάσουμε ένα αρχείο CSV γραμμή προς γραμμή και ας εμφανίσουμε το περιεχόμενο:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file)) !== false) {
print_r($row);
}
fclose($file);
?>
Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο "a,b,c":
['a', 'b', 'c']
Παράδειγμα
Ανάγνωση CSV με καθορισμό του μέγιστου μήκους γραμμής και προσαρμοσμένου διαχωριστικού:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 1000, ';')) !== false) {
print_r($row);
}
fclose($file);
?>
Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο "a;b;c":
['a', 'b', 'c']
Παράδειγμα
Ανάγνωση CSV με εισαγωγικά και διαφυγή:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
print_r($row);
}
fclose($file);
?>
Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο '"a,b",c,"d\"e"':
['a,b', 'c', 'd"e']