Συνάρτηση fgetcsv() PHP
Ορισμός και χρήση
Η συνάρτηση fgetcsv() διαβάζει μια γραμμή από τον δείκτη αρχείου και αναλύει το πεδίο CSV.
Με fgets() Όπως και στο fgetcsv(), αλλά με την διαφορά ότι το fgetcsv() αναλύει τη γραμμή που έχει εισαχθεί και βρίσκει το πεδίο CSV, επιστρέφοντας έναν πίνακα που περιέχει αυτά τα πεδία.
Ο fgetcsv() επιστρέφει FALSE σε περίπτωση σφάλματος, συμπεριλαμβανομένων των περιπτώσεων όπου το αρχείο έχει τελειώσει.
Σχόλια:Από την έκδοση PHP 4.3.5, η λειτουργία του fgetcsv() είναι ασφαλής σε δύο βιβλιοθήκες.
Γραμματική
fgetcsv(file,length,separator,enclosure)
Παράμετρος | Περιγραφή |
---|---|
file | Υποχρεωτική. Ορίζει το αρχείο που θα ελεγχθεί. |
length |
Προαιρετική. Ορίζει τη μέγιστη μήκος γραμμής. Πρέπει να είναι μεγαλύτερη από τη μεγαλύτερη γραμμή στο αρχείο CVS. Στο PHP 5, η παράμετρος είναι προαιρετική. Πριν από το PHP 5 είναι υποχρεωτική. Αν αγνοηθεί ο παράμετρος (σε εκδόσεις PHP 5.0.4 και μεταγενέστερες ορίζεται σε 0), η μήκος δεν έχει περιορισμό, αλλά μπορεί να επηρεάσει την απόδοση. |
separator | Οπション. Ορίζει τον διαχωριστή πεδίου (επιτρέπεται μόνο ένα σύμβολο), η προεπιλεγμένη τιμή είναι η κόμμα. |
enclosure |
Οプション. Ορίζει τα σύμβολα περιβάλλοντος πεδίου (επιτρέπεται μόνο ένα σύμβολο), η προεπιλεγμένη τιμή είναι τα διπλά εισαγωγικά. Το παράμετρο αυτό προστέθηκε στο PHP 4.3.0. |
Συμβουλές και Σχόλια
Σχόλια:Οι κενές γραμμές στο αρχείο CSV θα επιστρέψουν ως μαγνητισμένος πίνακας με ένα μοναδικό null πεδίο και δεν θα θεωρηθούν σφάλμα.
Σχόλια:Η συνάρτηση αυτή είναι ευαίσθητη στις ρυθμίσεις περιοχής. Για παράδειγμα, αν ο LANG είναι ρυθμισμένος σε en_US.UTF-8, τα αρχεία μονομπύχρωτης κωδικοποίησης θα δώσουν σφάλμα ανάγνωσης.
Σχόλια:Αν το PHP δεν μπορεί να αναγνωρίσει τον χαρακτήρα λήξης γραμμής του αρχείου Macintosh κατά τη διάρκεια της ανάγνωσης του αρχείου, μπορείτε να ενεργοποιήσετε την επιλογή ρύθμισης runtime auto_detect_line_endings.
Παράδειγμα
Παράδειγμα 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?>
Αρχείο CSV:
George, John, Thomas, USA James, Adrew, Martin, USA
Προβολή όπως:
Περίπλοκο ( [0] => George [1] => John [2] => Thomas [3] => USA )
Παράδειγμα 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?>
Αρχείο CSV:
George, John, Thomas, USA James, Adrew, Martin, USA
Προβολή όπως:
Περίπλοκο ( [0] => George [1] => John [2] => Thomas [3] => USA Περίπλοκο ( [0] => James [1] => Adrew [2] => Martin [3] => USA )