Συνάρτηση fgetcsv

Η συνάρτηση fgetcsv διαβάζει μια γραμμή από ένα αρχείο και την αναλύει σε πεδία σε μορφή CSV. Ως πρώτη παράμετρο η συνάρτηση δέχεται έναν δείκτη σε ανοιχτό αρχείο, ως δεύτερη - το μέγιστο μήκος γραμμής, ως τρίτη - το διαχωριστικό πεδίων (από προεπιλογή κόμμα), ως τέταρτη - τον χαρακτήρα οριοθέτησης (από προεπιλογή διπλά εισαγωγικά), ως πέμπτη - τον χαρακτήρα διαφυγής.

Σύνταξη

phpfgetcsv(
  resource $handle,
  int $length = 0,
  string $separator = ",",
  string $enclosure = "\"",
  string $escape = "\"
);

Παράδειγμα

Ας διαβάσουμε ένα αρχείο CSV γραμμή προς γραμμή και ας εμφανίσουμε το περιεχόμενο:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file)) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο "a,b,c":

php['a', 'b', 'c']

Παράδειγμα

Ανάγνωση CSV με καθορισμό του μέγιστου μήκους γραμμής και προσαρμοσμένου διαχωριστικού:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 1000, ';')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο "a;b;c":

php['a', 'b', 'c']

Παράδειγμα

Ανάγνωση CSV με εισαγωγικά και διαφυγή:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Αποτέλεσμα εκτέλεσης κώδικα για αρχείο με περιεχόμενο '"a,b",c,"d\"e"':

php['a,b', 'c', 'd"e']

Δείτε επίσης

  • τη συνάρτηση fputcsv,
    που γράφει δεδομένα σε CSV
  • τη συνάρτηση fgets,
    που διαβάζει μια γραμμή από ένα αρχείο