Rumah > Artikel > pembangunan bahagian belakang > Gunakan fungsi PHP glob() untuk mencari fail berdasarkan aksara kad bebas dalam nama fail
Semasa memproses fail, kami sering menghadapi situasi di mana kami perlu mencari fail tertentu. Jika bilangan fail kecil, carian manual boleh digunakan. Walau bagaimanapun, jika sejumlah besar fail terlibat, carian manual menjadi sangat menggembirakan. Pada masa ini, fungsi berguna berguna - fungsi glob(). Fungsi
glob() ialah fungsi yang sangat praktikal dalam PHP, yang membolehkan kami mencari fail dan direktori dengan menentukan aksara kad bebas. Fungsi glob() juga boleh mengisih dan menapis fail yang ditemui melalui pelbagai parameter, membolehkan kami mencari fail yang kami perlukan dengan cepat di antara sejumlah besar fail.
Di bawah, kita mulakan dengan penggunaan asas fungsi dan secara beransur-ansur memperkenalkan cara menggunakan fungsi glob(). Penggunaan asas fungsi
glob() adalah sangat mudah Ia hanya mempunyai satu parameter - aksara kad bebas yang mewakili fail yang perlu dicari. Berikut ialah contoh:
$files = glob('/path/to/files/*.jpg');
Watak kad bebas dalam contoh ini ialah "*.jpg", yang bermaksud untuk mencari semua fail dengan akhiran ".jpg" dalam direktori /path/to/files/. Hasil yang ditemui akan dikembalikan dalam bentuk tatasusunan.
Jika kita ingin mencari semua fail dan subdirektori dalam direktori tertentu, kita boleh menggunakan kad bebas "**":
$files = glob('/path/to/files/**');
Dengan cara ini kita boleh mencari semua fail dan direktori dalam direktori /path/to/files/ , termasuk fail subdirektori dan direktori di bawah.
Selain itu, kami juga boleh menggunakan kurungan segi empat sama dalam kad bebas untuk menentukan set aksara:
$files = glob('/path/to/files/[abc]*');
Dengan cara ini anda boleh mencari semua fail bermula dengan "a", "b" atau "c".
Penggunaan asas fungsi glob() diperkenalkan di atas. Walau bagaimanapun, kami juga boleh menetapkan parameter untuk mengisih dan menapis hasil yang ditemui.
Dengan menetapkan parameter kedua (menunjukkan mod pengisihan), kita boleh mengisih hasil yang ditemui. Berikut ialah beberapa mod pengisihan yang biasa digunakan:
Sebagai contoh, jika kita ingin mengisih semua fail dengan akhiran ".jpg" dalam susunan terbalik mengikut nama, kita boleh menggunakan kod berikut:
$files = glob('/path/to/files/*.jpg', GLOB_NOSORT|GLOB_NOCHECK); rsort($files);
Dalam contoh ini, kita menggunakan dua pemalar GLOB_NOSORT dan GLOB_NOCHECK untuk menetapkan kaedah pengasingan.
Dengan menetapkan parameter ketiga (menunjukkan penapis), kami boleh menapis hasil yang ditemui. Berikut ialah beberapa penapis yang biasa digunakan:
Sebagai contoh, jika kita hanya perlu mencari fail dengan saiz 100MB atau kurang, kita boleh menggunakan kod berikut:
$files = glob('/path/to/files/*.*'); array_filter($files, function($file) { return filesize($file) <= 100 * 1024 * 1024; });
Dalam contoh ini, kita menggunakan fungsi array_filter() untuk menapis keputusan.
Melalui contoh di atas, kami mempelajari cara menggunakan fungsi glob() untuk mencari fail dan direktori dalam PHP. Fungsi glob() adalah sangat mudah dan praktikal, serta mempunyai banyak parameter dan penggunaan, yang boleh mencapai carian dan pemprosesan fail yang lebih kompleks dan fleksibel. Dalam projek PHP, kita boleh memilih fungsi glob() untuk memproses sejumlah besar fail dan direktori dengan mudah dan cekap.
Atas ialah kandungan terperinci Gunakan fungsi PHP glob() untuk mencari fail berdasarkan aksara kad bebas dalam nama fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!