PHP File() Handling & Functions
⚡ Έξυπνη Σύνοψη
Η επεξεργασία αρχείων σε PHP χρησιμοποιεί ένα πλούσιο σύνολο ενσωματωμένων συναρτήσεων για τη δημιουργία, ανάγνωση, εγγραφή, αντιγραφή και διαγραφή αρχείων στον διακομιστή. Αυτή η αναλυτική παρουσίαση καλύπτει τις συναρτήσεις file_exists, fopen και τις λειτουργίες του, fwrite, fclose, fgets, copy, unlink και file_get_contents με πρακτικά παραδείγματα.

Τι είναι ένα Αρχείο;
Ένα αρχείο είναι απλώς ένας πόρος για την αποθήκευση πληροφοριών σε έναν υπολογιστή.
Τα αρχεία χρησιμοποιούνται συνήθως για την αποθήκευση πληροφοριών όπως:
- Ρυθμίσεις διαμόρφωσης ενός προγράμματος
- Απλά δεδομένα όπως ονόματα επαφών σε σύγκριση με αριθμούς τηλεφώνου.
- Εικόνες, φωτογραφίες, φωτογραφίες και παρόμοια μέσα.
Υποστήριξη μορφών αρχείων 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 και macOS δεν κάνουν διάκριση πεζών-κεφαλαίων, ενώ Linux or Unix Τα λειτουργικά συστήματα κάνουν διάκριση πεζών-κεφαλαίων.
Η υιοθέτηση μιας σύμβασης ονομασίας, όπως η χρήση μόνο πεζών γραμμάτων για την ονομασία αρχείων, είναι μια καλή πρακτική που διασφαλίζει μέγιστη συμβατότητα μεταξύ πλατφορμών.
Ας δούμε τώρα μερικές από τις πιο συχνά χρησιμοποιούμενες συναρτήσεις αρχείων PHP.
Συνάρτηση PHP file_exists().
Αυτή η συνάρτηση χρησιμοποιείται για να προσδιορίσει εάν ένα αρχείο υπάρχει ή όχι.
- Είναι χρήσιμο όταν θέλουμε να μάθουμε αν ένα αρχείο υπάρχει πριν το επεξεργαστούμε.
- Μπορείτε επίσης να χρησιμοποιήσετε αυτήν τη λειτουργία όταν δημιουργείτε ένα νέο αρχείο και θέλετε να βεβαιωθείτε ότι το αρχείο δεν υπάρχει ήδη στον διακομιστή.
Η συνάρτηση file_exists έχει την ακόλουθη σύνταξη.
<?php file_exists($filename); ?>
ΕΔΩ,
- Το “file_exists()” είναι η συνάρτηση PHP που επιστρέφει true αν το αρχείο υπάρχει και false αν δεν υπάρχει.
- Το "$filename" είναι η διαδρομή και το όνομα του αρχείου που θα ελεγχθεί
Ο παρακάτω κώδικας χρησιμοποιεί τη συνάρτηση 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" είναι η λειτουργία στην οποία θα πρέπει να ανοίξει το αρχείο. Ο παρακάτω πίνακας δείχνει τις λειτουργίες.
| Τρόπος | Περιγραφή |
|---|---|
| r | • Διαβάστε το αρχείο από την αρχή. • Επιστρέφει false εάν το αρχείο δεν υπάρχει. • Μόνο για ανάγνωση |
| r+ | • Διαβάστε το αρχείο από την αρχή • Επιστρέφει false εάν το αρχείο δεν υπάρχει. • Διάβασε και γράψε |
| w | • Εγγραφή στο αρχείο στην αρχή • Περικοπή αρχείου σε μηδενικό μήκος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Γράψτε μόνο |
| w+ | • Εγγραφή στο αρχείο στην αρχή, περικοπή αρχείου σε μηδενικό μήκος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Διάβασε και γράψε |
| a | • Προσθήκη στο αρχείο στο τέλος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε. • Γράψτε μόνο |
| a+ | • Προσθήκη στο αρχείο στο τέλος • Εάν το αρχείο δεν υπάρχει, προσπαθήστε να το δημιουργήσετε • Διάβασε και γράψε |
- Η τιμή «$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. Θα χρησιμοποιήσουμε τις συναρτήσεις fopen, 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 1 written successfully"; ?> |
Δοκιμή του κώδικα
Ανοίξτε το URL http://localhost/phptuts/create_my_settings.php στο πρόγραμμα περιήγησής σας.
Θα λάβετε την παρακάτω σελίδα.
Σημείωση: εάν ο δίσκος σας είναι γεμάτος ή δεν έχετε άδεια εγγραφής αρχείων, θα λάβετε ένα μήνυμα σφάλματος.
Επιστροφή στο URL http://localhost/phptuts/file_function.phpΤι αποτελέσματα έχετε;
Συνάρτηση PHP fgets().
Η συνάρτηση fgets χρησιμοποιείται για την ανάγνωση αρχείων PHP γραμμή προς γραμμή. Έχει την ακόλουθη βασική σύνταξη.
<?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 χρησιμοποιείται για την αντιγραφή αρχείων. Έχει την ακόλουθη βασική σύνταξη.
<?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 2"; ?>
Διαγραφή αρχείου
Η συνάρτηση unlink χρησιμοποιείται για τη διαγραφή ενός αρχείου. Ο παρακάτω κώδικας απεικονίζει την υλοποίηση.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 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
Ο παρακάτω πίνακας συνοψίζει τις συναρτήσεις αρχείων που καλύπτονται σε αυτό το σεμινάριο.
| Λειτουργία | Περιγραφή |
|---|---|
| file_exists | Χρησιμοποιείται για να προσδιορίσει εάν ένα αρχείο υπάρχει ή όχι |
| fopen | Χρησιμοποιείται για το άνοιγμα ενός αρχείου. Επιστρέφει έναν δείκτη στο ανοιχτό αρχείο |
| fwrite | Χρησιμοποιείται για εγγραφή σε αρχεία |
| fclose | Χρησιμοποιείται για το κλείσιμο ενός ανοιχτού αρχείου |
| fgets | Χρησιμοποιείται για την ανάγνωση ενός αρχείου γραμμή προς γραμμή |
| αντίγραφο | Χρησιμοποιείται για την αντιγραφή υπάρχοντος αρχείου |
| αποσυνδέστε | Χρησιμοποιείται για τη διαγραφή ενός υπάρχοντος αρχείου |
| file_get_contents | Χρησιμοποιείται για την επιστροφή των περιεχομένων ενός αρχείου ως συμβολοσειρά |


