PHP: Χειρισμός αρχείων


nc
Δημοσίευση: • Share Article:

 @Λειτουργίες ανοίγματος αρχείων: Πριν εξετάσουμε το πώς μπορείτε να ανοίξετε ένα αρχείο στην PHP, πρέπει να γνωρίζετε ότι ένα αρχείο μπορεί να ανοίξει σε διαφορετικές καταστάσεις. Για παράδειγμα, μπορείτε να ανοίξετε ένα αρχείο σε κατάσταση μόνο για ανάγνωση ή σε κατάστεαση ανάγνωσης και εγγραφής.

r    Μόνο για ανάγνωση. Ξεκινά στην αρχή του αρχείου
r+    Ανάγνωση/εγγραφή. Ξεκινά στην αρχή του αρχείου
w Μόνο εγγραφή. Ανοίγει και διαγράφει τα περιεχόμενα του αρχείου ή δημιουργεί ένα νέο αρχείο εάν δεν υπάρχει
w +   Ανάγνωση/εγγραφή. Ανοίγει και διαγράφει τα περιεχόμενα του αρχείου ή δημιουργεί ένα νέο αρχείο εάν δεν υπάρχει
a  Προσθήκη. Ανοίγει και γράφει στο τέλος του αρχείου ή δημιουργεί ένα νέο αρχείο εάν δεν υπάρχει
a+ Ανάγνωση/Προσθήκη. Διατηρεί το περιεχόμενο του αρχείου γράφοντας στο τέλος του αρχείου
x    Μόνο εγγραφή. Δημιουργεί ένα νέο αρχείο. Επιστρέφει FALSE και ένα σφάλμα εάν υπάρχει ήδη αρχείο
x+ Ανάγνωση/εγγραφή. Δημιουργεί ένα νέο αρχείο. Επιστρέφει FALSE και ένα σφάλμα εάν υπάρχει ήδη αρχείο

Άνοιγμα αρχείου: Για να ανοίξετε ένα αρχείο PHP μπορείτε να χρησιμοποιήσετε τη συνάρτηση fopen(). Αυτή η συνάρτηση παίρνει δύο παραμέτρους: η πρώτη περιέχει το όνομα του αρχείου και η δεύτερη είναι οι λειτουργίες (δες πιο πάνω) που πρέπει να χρησιμοποιηθούν για το άνοιγμα του αρχείου. Ρίξτε μια ματιά σε ένα παράδειγμα:

 
<?
$file=fopen("test.txt","w");
? >
Σε αυτό το παράδειγμα προσπαθούμε να ανοίξουμε το αρχείο test.txt σε κατάσταση εγγραφής. Εάν η συνάρτηση fopen() δεν μπορεί να ανοίξει το καθορισμένο αρχείο, επιστρέφει 0 (ή false).

Κλείσιμο αρχείου: Αφού ανοίξετε ένα αρχείο και τελειώσετε (για παράδειγμα με την ανάγνωση των περιεχομένων του), τότε θα πρέπει να το κλείσετε. Μια συνάρτηση fopen() πρέπει πάντα να ακολουθείται από μια συνάρτηση fclose(). Ρίξτε μια ματιά σε ένα παράδειγμα:

 
<?
$file = fopen("test.txt","r");
//do something with the file test.txt
fclose($file);
?>

Ανάγνωση ενός αρχείου γραμμή προς γραμμή: Η συνάρτηση fgets() χρησιμοποιείται για την ανάγνωση μιας γραμμής από ένα αρχείο. Μετά την ανάγνωση της γραμμής, ο δείκτης του αρχείου δείχνει στην επόμενη γραμμή του αρχείου. Αυτό είναι πολύ χρήσιμο, γιατί τώρα μπορούμε να διαβάσουμε το αρχείο γραμμή προς γραμμή. Πριν πάμε στο παράδειγμα, πρέπει να δούμε τη συνάρτηση feof(). Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν έχει φτάσει το "Τέλος του Αρχείου" (EOF). Αυτό είναι πολύ χρήσιμο γιατί τώρα μπορούμε να εκτελέσουμε ένα βρόχο μέσω ενός αρχείου άγνωστου μήκους. Μπορούμε να το κάνουμε αυτό σε κάθε αρχείο που δεν ανοίγει σε λειτουργία w, a και x! Ας ρίξουμε μια ματιά σε ένα παράδειγμα:
 
<?
$file = fopen("test.txt", "r") or exit("Unable to open the file!");
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
Αρχικά ανοίγουμε το αρχείο test.txt σε λειτουργία ανάγνωσης. Εάν αυτό δεν είναι δυνατό, βγαίνουμε με ένα μήνυμα. Στη συνέχεια χρησιμοποιούμε έναν βρόχο while μέχρι να φτάσουμε στο τέλος του αρχείου. Στον βρόχο η συνάρτηση fgets() χρησιμοποιείται για να διαβάσει μια γραμμή και να την γράψει (echo) στην οθόνη. Το τελευταίο πράγμα που γίνεται είναι το κλείσιμο του αρχείου.
Ανάγνωση ενός αρχείου χαρακτήρα ανά χαρακτήρα. Η συνάρτηση fgetc() μπορεί να χρησιμοποιηθεί για την ανάγνωση ενός χαρακτήρα από ένα αρχείο. Μπορούμε τώρα να χρησιμοποιήσουμε το προηγούμενο παράδειγμα για να διαβάσουμε ένα αρχείο χαρακτήρα προς χαρακτήρα.

 
<?
$file = fopen("test.txt", "r") or exit("Unable to open the file!");
while(!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>


 

Foreach programming

Εγγραφείτε για να βλέπετε τα εξειδικευμένα άρθρα.