Συνάρτηση glob
Η συνάρτηση glob αναζητά αρχεία και καταλόγους που αντιστοιχούν σε ένα δεδομένο μοτίβο.
Στην πρώτη παράμετρο μεταδίδεται μια συμβολοσειρά με το μοτίβο αναζήτησης.
Η δεύτερη προαιρετική παράμετρος ορίζει σημαίες για αλλαγή της συμπεριφοράς της συνάρτησης.
Σύνταξη
glob(pattern, [flags]);
Σημαίες
| Σημαία | Περιγραφή |
|---|---|
GLOB_MARK |
Προσθέτει μια καθέτο / σε κάθε επιστρεφόμενο κατάλογο. |
GLOB_NOSORT |
Επιστρέφει τα αρχεία με τη σειρά που βρίσκονται στον κατάλογο (χωρίς ταξινόμηση). |
GLOB_NOCHECK |
Επιστρέφει το μοτίβο αναζήτησης εάν δεν βρεθεί καμία αντιστοιχία. |
GLOB_NOESCAPE |
Οι αντίστροφες κάθετοι δεν δραπετεύουν τους μετα-χαρακτήρες. |
GLOB_BRACE |
Αναπτύσσει το {a,b,c} για αναζήτηση σε πολλαπλά μοτίβα. |
GLOB_ONLYDIR |
Επιστρέφει μόνο καταλόγους που αντιστοιχούν στο μοτίβο. |
GLOB_ERR |
Να σταματάει σε σφάλματα ανάγνωσης (για παράδειγμα, δεν υπάρχουν δικαιώματα πρόσβασης). |
Παράδειγμα
Ας βρούμε όλα τα αρχεία με επέκταση .txt στον τρέχοντα κατάλογο:
<?php
$res = glob('*.txt');
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
['file1.txt', 'file2.txt', 'notes.txt']
Παράδειγμα
Ας βρούμε όλα τα αρχεία που ξεκινούν με 'test' με οποιαδήποτε επέκταση:
<?php
$res = glob('test*');
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
['test.php', 'test.txt', 'test_image.jpg']
Παράδειγμα
Χρήση της σημαίας GLOB_BRACE για αναζήτηση σε πολλαπλά μοτίβα:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
['index.php', 'config.php', 'readme.txt']
Παράδειγμα
Αναζήτηση αρχείων σε υποκαταλόγους με χρήση της σημαίας GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
['index.php', 'lib/utils.php', 'admin/index.php']
Δείτε επίσης
-
την συνάρτηση
scandir,
που διαβάζει τα περιεχόμενα ενός καταλόγου -
την συνάρτηση
file_exists,
που ελέγχει την ύπαρξη ενός αρχείου -
την συνάρτηση
is_file,
που ελέγχει ένα αρχείο