Ανοίγοντας/Διαβάζοντας/Κλείνοντας αρχεία με PHP
- Προηγούμενη Σελίδα Φάκελοι PHP
- Επόμενη Σελίδα Δημιουργία/Εισαγωγή Φακέλου PHP
Σε αυτή την ενότητα, σας εξηγούμε πώς να ανοίξετε, να διαβάσετε και να κλείσετε αρχεία στο διακομιστή.
Ανοίγοντας αρχείο με PHP - fopen()
Η καλύτερη μέθοδος για να ανοίξετε αρχείο είναι μέσω της συνάρτησης fopen(). Αυτή η συνάρτηση σας παρέχει περισσότερες επιλογές από τη συνάρτηση readfile().
Στο μάθημα, θα χρησιμοποιήσουμε το κείμενο αρχείο "webdictionary.txt":
AJAX = Συγχρονισμένος Λογισμικός και XML CSS = Καταβατήρια Στυλ Σελίδων HTML = Υπερ Τекстου Σημειωτική Γλώσσα PHP = PHP Υπολογιστή Hypertext Preprocessor SQL = Λειτουργική Γλώσσα Ερωτημάτων SVG = Εκπτυξιμότατα Σκαλίσιμα Γραφικά XML = Εξέχουσα Μάρτυρα Γλώσσα
Ο πρώτος παράμετρος της συνάρτησης fopen() περιέχει το όνομα του αρχείου που πρέπει να ανοίξει, η δεύτερη παράμετρος καθορίζει το στυλ ανοίγματος του αρχείου. Αν η συνάρτηση fopen() δεν μπορέσει να ανοίξει το καθορισμένο αρχείο, το παρακάτω παράδειγμα θα δημιουργήσει ένα μήνυμα:
Παράδειγμα
<?php $myfile = fopen("webdictionary.txt", "r") or die("Αδυναμία ανοίγματος αρχείου!"); echo fread($myfile, filesize("webdictionary.txt")); fclose($myfile); ?>
Συμβουλή:Συνεχίζουμε με την ανάγνωση της συνάρτησης fread() και της fclose().
Το αρχείο θα ανοίξει με ένα από τα παρακάτω στυλ:
Στυλ | Περιγραφή |
---|---|
r | Άνοιγμα αρχείου για ανάγνωση μόνο. Ο δείκτης αρχείου ξεκινάει στο κεφάλι του αρχείου. |
w | Άνοιγμα αρχείου για γραφή μόνο. Οι υπάρχουσες δεδομένα στο αρχείο θα διατηρηθούν. Ο δείκτης αρχείου ξεκινάει στο κεφάλι του αρχείου. Δημιουργία νέου αρχείου αν δεν υπάρχει. |
a | Άνοιγμα αρχείου για γραφή μόνο. Οι υπάρχουσες δεδομένα στο αρχείο θα διατηρηθούν. Ο δείκτης αρχείου ξεκινάει στο τέλος του αρχείου. Δημιουργία νέου αρχείου αν δεν υπάρχει. |
x | Δημιουργία νέου αρχείου για γραφή μόνο. Επιστρέφει FALSE και σφάλμα αν το αρχείο υπάρχει ήδη. |
r+ | Άνοιγμα αρχείου για ανάγνωση/εγγραφή, ο δείκτης αρχείου ξεκινάει στο κεφάλι του αρχείου. |
w+ | Άνοιγμα αρχείου για ανάγνωση/εγγραφή. Οι υπάρχουσες δεδομένα στο αρχείο θα διατηρηθούν. Ο δείκτης αρχείου ξεκινάει στο κεφάλι του αρχείου. Δημιουργία νέου αρχείου αν δεν υπάρχει. |
a+ | Άνοιγμα αρχείου για ανάγνωση/εγγραφή. Οι υπάρχουσες δεδομένα στο αρχείο θα διατηρηθούν. Ο δείκτης αρχείου ξεκινάει στο τέλος του αρχείου. Δημιουργία νέου αρχείου αν δεν υπάρχει. |
x+ | Δημιουργία νέου αρχείου για ανάγνωση/εγγραφή. Επιστρέφει FALSE και σφάλμα αν το αρχείο υπάρχει ήδη. |
Ανάγνωση αρχείου με PHP - fread()
Η συνάρτηση fread() διαβάζει το ανοιχτό αρχείο.
Ο πρώτος παράμετρος της συνάρτησης fread() περιέχει το όνομα του αρχείου που πρέπει να διαβαστεί, η δεύτερη παράμετρος καθορίζει το μέγιστο αριθμό των βυθισμάτων που πρέπει να διαβαστούν.
Η παρακάτω PHP κώδικας διαβάζει το αρχείο "webdictionary.txt" μέχρι το τέλος:
fread($myfile, filesize("webdictionary.txt"));
Κλείσιμο αρχείου με PHP - fclose()
Η συνάρτηση fclose() χρησιμοποιείται για το κλείσιμο του ανοιχτού αρχείου.
Σημείωση:Η καλή πρακτική είναι να κλείνετε όλα τα αρχεία μετά τη χρήση τους. Δεν θέλετε να ανοίξετε αρχεία που να καταναλώνουν πόρους του διακομιστή σας.
Η συνάρτηση fclose() χρειάζεται το όνομα του αρχείου που πρέπει να κλείσει (ή την μεταβλητή που περιέχει το όνομα του αρχείου):
<?php $myfile = fopen("webdictionary.txt", "r"); // Κώδικας που θα εκτελεστεί... fclose($myfile); ?>
Ανάγνωση γραμμής αρχείου με PHP - fgets()
Η συνάρτηση fgets() χρησιμοποιείται για την ανάγνωση μιας γραμμής από το αρχείο.
Η παρακάτω παράδειγμα εκτυπώνει την πρώτη γραμμή του αρχείου "webdictionary.txt":
Παράδειγμα
<?php $myfile = fopen("webdictionary.txt", "r") or die("Αδυναμία ανοίγματος αρχείου!"); echo fgets($myfile); fclose($myfile); ?>
Σημείωση:Μετά την κλήση της συνάρτησης fgets(), ο δείκτης αρχείου θα μετακινηθεί στη γραμμή που ακολουθεί.
Ελέγχος Τέλους Αρχείου PHP - feof()
Η συνάρτηση feof() ελέγχει αν έχει φτάσει στο τέλος του αρχείου (EOF).
Η feof() είναι πολύ χρήσιμη για την περιήγηση δεδομένων άγνωστης μήκους.
Το παρακάτω παράδειγμα διαβάζει το αρχείο "webdictionary.txt" γραμμή προς γραμμή μέχρι το τέλος του αρχείου:
Παράδειγμα
<?php $myfile = fopen("webdictionary.txt", "r") or die("Αδυναμία ανοίγματος αρχείου!"); // Εκτύπωση γραμμής μέχρι το τέλος του αρχείου while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
Ανάγνωση μοναδικού χαρακτήρα από το PHP - fgetc()
Η συνάρτηση fgetc() χρησιμοποιείται για την ανάγνωση μοναδικού χαρακτήρα από το αρχείο.
Το παρακάτω παράδειγμα διαβάζει το αρχείο "webdictionary.txt" χαρακτήρα προς χαρακτήρα μέχρι το τέλος του αρχείου:
Παράδειγμα
<?php $myfile = fopen("webdictionary.txt", "r") or die("Αδυναμία ανοίγματος αρχείου!"); // Εκτύπωση μοναδικού χαρακτήρα μέχρι το τέλος του αρχείου while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
Σημείωση:Μετά την κλήση της συνάρτησης fgetc(), ο δείκτης αρχείου θα μετακινηθεί στον επόμενο χαρακτήρα.
Εγχειρίδιο Αναφοράς PHP Filesystem
Για πλήρες εγχειρίδιο αναφοράς του PHP Filesystem, επισκεφθείτε το CodeW3C.com που παρέχει Εγχειρίδιο Αναφοράς PHP Filesystem.
- Προηγούμενη Σελίδα Φάκελοι PHP
- Επόμενη Σελίδα Δημιουργία/Εισαγωγή Φακέλου PHP