Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mendapatkan Nama Fail dengan Cekap daripada Direktori dalam PHP?

Bagaimanakah Saya Boleh Mendapatkan Nama Fail dengan Cekap daripada Direktori dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-18 03:10:10114semak imbas

How Can I Efficiently Retrieve File Names from a Directory in PHP?

Mendapatkan Nama Fail daripada Direktori Menggunakan PHP

Apabila bekerja dengan direktori dalam PHP, adalah tugas biasa untuk mendapatkan semula nama semua fail yang terkandung di dalamnya. Semasa menggunakan fungsi opendir() dan readdir() boleh mencapai ini dengan berkesan, pelaksanaan tertentu mungkin menghadapi isu di mana hanya "1" dikembalikan untuk setiap fail yang dikesan.

Tingkah laku ini berpunca daripada lalai fungsi readdir() operasi lelaran melalui fail dalam direktori dan mengembalikan nombor indeks mereka dan bukannya nama sebenar mereka. Untuk membetulkan ini, pendekatan alternatif menggunakan fungsi glob() disyorkan.

Fungsi glob() menerima corak kad bebas dan secara rekursif mencari laluan direktori yang ditentukan, memadankan dan mengembalikan semua fail yang memenuhi corak. Menggunakan kad bebas seperti *.* memastikan semua fail dengan sebarang sambungan dalam direktori ditangkap. Nilai yang dikembalikan ialah tatasusunan laluan fail, yang boleh diulang untuk mengekstrak nama fail yang dikehendaki.

Berikut ialah contoh yang menggunakan glob() untuk mendapatkan semula nama fail daripada direktori:

foreach (glob($log_directory . '/*.*') as $file) {
    // Process file name
}

Dengan menggunakan glob(), anda boleh mendapatkan nama semua fail dalam direktori dengan berkesan, menghapuskan isu "1" yang dihadapi dengan readdir(). Pendekatan ini cekap, teguh dan适用于大多数场景。

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Fail dengan Cekap daripada Direktori dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn