PHP File() Handling & Functions
Τι είναι ένα Αρχείο;
Ένα αρχείο είναι απλώς ένας πόρος για την αποθήκευση πληροφοριών σε έναν υπολογιστή.
Τα αρχεία χρησιμοποιούνται συνήθως για την αποθήκευση πληροφοριών όπως:
- Ρυθμίσεις διαμόρφωσης ενός προγράμματος
- Απλά δεδομένα, όπως ονόματα επαφών σε σχέση με τους αριθμούς τηλεφώνου.
- Εικόνες, Εικόνες, Φωτογραφίες κ.λπ.
Υποστήριξη μορφών αρχείων PHP
Οι λειτουργίες αρχείων PHP υποστηρίζουν ένα ευρύ φάσμα μορφών αρχείων που περιλαμβάνουν:
- File.txt
- File.log
- File.custom_extension δηλαδή file.xyz
- File.csv
- File.gif, file.jpg κ.λπ
- Τα αρχεία παρέχουν μια μόνιμη οικονομικά αποδοτική λύση αποθήκευσης δεδομένων για απλά δεδομένα σε σύγκριση με βάσεις δεδομένων που απαιτούν άλλο λογισμικό και δεξιότητες για τη διαχείριση συστημάτων DBMS.
- Θέλετε να αποθηκεύσετε απλά δεδομένα, όπως αρχεία καταγραφής διακομιστή για μελλοντική ανάκτηση και ανάλυση
- Θέλετε να αποθηκεύσετε τις ρυθμίσεις του προγράμματος, π.χ. program.ini
Λειτουργία αρχείου PHP ().
Η PHP παρέχει έναν βολικό τρόπο εργασίας με αρχεία μέσω της πλούσιας συλλογής ενσωματωμένων λειτουργιών της.
Operaσυστήματα ting όπως Windows και τα MAC OS δεν κάνουν διάκριση πεζών-κεφαλαίων ενώ Linux or Unix Τα λειτουργικά συστήματα κάνουν διάκριση πεζών-κεφαλαίων.
Η υιοθέτηση μιας μετατροπής ονομασίας όπως πεζά γράμματα μόνο για την ονομασία αρχείων είναι μια καλή πρακτική που διασφαλίζει τη μέγιστη συμβατότητα μεταξύ πλατφορμών.
Ας δούμε τώρα μερικές από τις πιο συχνά χρησιμοποιούμενες συναρτήσεις αρχείων PHP.
Συνάρτηση PHP file_exists().
Αυτή η συνάρτηση χρησιμοποιείται για να προσδιορίσει εάν ένα αρχείο υπάρχει ή όχι.
- Είναι χρήσιμο όταν θέλουμε να μάθουμε εάν ένα αρχείο υπάρχει ή όχι πριν το επεξεργαστούμε.
- Μπορείτε επίσης να χρησιμοποιήσετε αυτήν τη λειτουργία όταν δημιουργείτε ένα νέο αρχείο και θέλετε να βεβαιωθείτε ότι το αρχείο δεν υπάρχει ήδη στον διακομιστή.
Η συνάρτηση file_exist έχει την ακόλουθη σύνταξη.
<?php file_exists($filename); ?>
ΕΔΩ,
- Το “file_exists()” είναι η συνάρτηση PHP που επιστρέφει true αν το αρχείο υπάρχει και false αν δεν υπάρχει.
- Το "$file_name" είναι η διαδρομή και το όνομα του αρχείου που θα ελεγχθεί
Ο παρακάτω κώδικας χρησιμοποιεί τη συνάρτηση file_exists για να προσδιορίσει εάν υπάρχει το αρχείο my_settings.txt.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Αποθηκεύστε τον παραπάνω κώδικα σε ένα αρχείο με το όνομα file_function.php Υποθέτοντας ότι αποθηκεύσατε το αρχείο στον φάκελο phptuts στο htdocs, ανοίξτε τη διεύθυνση URL http://localhost/phptuts/file_function.php στο πρόγραμμα περιήγησής σας Θα λάβετε τα ακόλουθα αποτελέσματα.
Συνάρτηση PHP fopen().
Η λειτουργία fopen χρησιμοποιείται για το άνοιγμα αρχείων. Έχει την εξής σύνταξη
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
ΕΔΩ,
- Το "fopen" είναι η λειτουργία ανοιχτού αρχείου PHP
- "$file_name" είναι το όνομα του αρχείου που θα ανοίξει
- Το "$mode" είναι ο τρόπος με τον οποίο πρέπει να ανοίξει το αρχείο, ο παρακάτω πίνακας δείχνει τις λειτουργίες
Τρόπος | Descriptιόν |
---|---|
r |
• Διαβάστε το αρχείο από την αρχή. • Επιστρέφει το false εάν το αρχείο δεν υπάρχει. • Μόνο για ανάγνωση |
r+ |
• Διαβάστε το αρχείο από την αρχή • Επιστρέφει το false εάν το αρχείο δεν υπάρχει. • Διάβασε και γράψε |
w |
• Εγγραφή στο αρχείο στην αρχή • περικοπή αρχείου σε μηδενικό μήκος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Γράψτε μόνο |
w+ |
• Εγγραφή στο αρχείο στην αρχή, περικοπή αρχείου σε μηδενικό μήκος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Διάβασε και γράψε |
a |
• Προσθήκη στο αρχείο στο τέλος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Γράψτε μόνο |
a+ |
• Php προσάρτηση στο αρχείο στο τέλος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε • Διάβασε και γράψε |
- Το "$use_include_path" είναι προαιρετικό, η προεπιλογή είναι false, εάν οριστεί σε true, η συνάρτηση αναζητά και στη διαδρομή συμπερίληψης.
- Το "$context" είναι προαιρετικό, μπορεί να χρησιμοποιηθεί για τον καθορισμό της υποστήριξης περιβάλλοντος.
Συνάρτηση PHP fwrite().
Η συνάρτηση fwrite χρησιμοποιείται για την εγγραφή αρχείων.
Έχει την εξής σύνταξη
<?php fwrite($handle, $string, $length); ?>
ΕΔΩ,
- Το "fwrite" είναι η συνάρτηση PHP για εγγραφή σε αρχεία
- Το "$handle" είναι ο πόρος δείκτη αρχείου
- Το "$string" είναι τα δεδομένα που πρέπει να εγγραφούν στο αρχείο.
- Το "$length" είναι προαιρετικό, μπορεί να χρησιμοποιηθεί για τον καθορισμό του μέγιστου μήκους αρχείου.
Συνάρτηση PHP fclose().
Η συνάρτηση fclose() χρησιμοποιείται για να κλείσει ένα αρχείο σε php που είναι ήδη ανοιχτό
Έχει την εξής σύνταξη.
<?php fclose($handle); ?>
ΕΔΩ,
- "fclose" είναι το Λειτουργία PHP για το κλείσιμο ενός ανοιχτού αρχείου
- Το "$handle" είναι ο πόρος δείκτη αρχείου.
Ας δούμε τώρα ένα παράδειγμα που δημιουργεί το my_settings.txt.
Θα χρησιμοποιήσουμε τις παρακάτω λειτουργίες.
- Φόπεν
- Fwrite
- fclose
Ο κώδικας παρακάτω "create_my_settings_file.php" υλοποιεί το παραπάνω παράδειγμα.
Ανοίξτε το αρχείο |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
Κλείσιμο αρχείου |
<?php fclose($fh); ?> |
Δημιουργία αρχείου |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
Δοκιμή του κώδικα
Ανοίξτε τη διεύθυνση URL http://localhost/phptuts/create_my_settings.php στο πρόγραμμα περιήγησής σας.
Θα λάβετε την παρακάτω σελίδα
Σημείωση: εάν ο δίσκος σας είναι γεμάτος ή δεν έχετε άδεια εγγραφής αρχείων, θα λάβετε ένα μήνυμα σφάλματος.
Επιστρέψτε στη διεύθυνση URL http://localhost/phptuts/file_function.php .
Τι αποτελέσματα παίρνετε;
Συνάρτηση PHP fgets().
Η συνάρτηση fgets χρησιμοποιείται για την ανάγνωση αρχείων php γραμμή προς γραμμή. Έχει την εξής βασική σύνταξη. fgets($handle); ΕΔΩ,
- Το "$fgets" είναι η συνάρτηση PHP για την ανάγνωση γραμμών αρχείων
- Το "$handle" είναι ο πόρος δείκτη αρχείου.
Ας δούμε τώρα ένα παράδειγμα που διαβάζει το αρχείο my_settings.txt χρησιμοποιώντας τις συναρτήσεις fopen και fgets.
Ο παρακάτω κώδικας read_my_settings.php υλοποιεί το παραπάνω παράδειγμα.
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
ΕΔΩ,
- Η λειτουργία "fopen" επιστρέφει τον δείκτη στο αρχείο που καθορίζεται στη διαδρομή του αρχείου
- Η συνάρτηση "die()" καλείται εάν παρουσιαστεί σφάλμα. Εμφανίζει ένα μήνυμα και υπάρχει η εκτέλεση του σεναρίου
Συνάρτηση PHP copy().
Η λειτουργία αντιγραφής PHP χρησιμοποιείται για την αντιγραφή αρχείων. Έχει την εξής βασική σύνταξη. copy($file,$copied_file); ΕΔΩ,
- Το "$file" καθορίζει τη διαδρομή αρχείου και το όνομα του αρχείου που θα αντιγραφεί.
- Το "copied_file" καθόρισε τη διαδρομή και το όνομα του αντιγραμμένου αρχείου
Ο παρακάτω κώδικας απεικονίζει την υλοποίηση
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Διαγραφή αρχείου
Η λειτουργία αποσύνδεσης χρησιμοποιείται για τη διαγραφή του αρχείου. Ο παρακάτω κώδικας απεικονίζει την υλοποίηση.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Συνάρτηση PHP file_get_contents().
Η συνάρτηση file_get_contents χρησιμοποιείται για την ανάγνωση ολόκληρου του περιεχομένου του αρχείου.
Ο παρακάτω κώδικας απεικονίζει την υλοποίηση.
Η διαφορά μεταξύ file_get_contents και fgets είναι ότι το file_get_contents επιστρέφει τα δεδομένα του αρχείου ως συμβολοσειρά ενώ το fgets διαβάζει το αρχείο γραμμή προς γραμμή.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Σύνοψη
- Ένα αρχείο είναι ένας πόρος για την αποθήκευση δεδομένων
- PHP έχει μια πλούσια συλλογή από ενσωματωμένες λειτουργίες που απλοποιούν την εργασία με αρχεία.
- Οι κοινές λειτουργίες αρχείων περιλαμβάνουν fopen, fclose, file_get_contents
- Ο παρακάτω πίνακας δείχνει μια περίληψη των λειτουργιών που καλύπτονται
Λειτουργία | Descriptιόν |
---|---|
Το αρχείο υπάρχει | Χρησιμοποιείται για να προσδιορίσει εάν ένα αρχείο υπάρχει ή όχι |
fopen | Χρησιμοποιείται για το άνοιγμα ενός αρχείου. Επιστρέφει έναν δείκτη στο ανοιχτό αρχείο |
fwrite | Χρησιμοποιείται για εγγραφή σε αρχεία |
fclose | Χρησιμοποιείται για το άνοιγμα κλειστών αρχείων |
fgets | Χρησιμοποιείται για την ανάγνωση ενός αρχείου γραμμή προς γραμμή |
αντίγραφο | Χρησιμοποιείται για την αντιγραφή υπάρχοντος αρχείου |
αποσυνδέστε | Χρησιμοποιείται για τη διαγραφή ενός υπάρχοντος αρχείου |
file_get_contents | Χρησιμοποιείται για την επιστροφή των περιεχομένων ενός αρχείου ως συμβολοσειρά |