Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengambil Nama Fail Direktori dengan Amanah dalam PHP?

Bagaimanakah Saya Boleh Mengambil Nama Fail Direktori dengan Amanah dalam PHP?

DDD
DDDasal
2024-12-08 08:16:13355semak imbas

How Can I Reliably Retrieve Directory Filenames in PHP?

Mengambil semula Nama Fail Direktori Menggunakan PHP

Apabila bekerja dengan sistem fail dalam PHP, selalunya perlu mendapatkan senarai nama fail dalam direktori . Walaupun fungsi readdir terbina dalam boleh digunakan untuk tujuan ini, ia mempunyai had tertentu.

Menghadapi Isu '1' dengan readdir:

Dalam beberapa kes, menggunakan readdir boleh menghasilkan output yang tidak dijangka. Sebagai contoh, apabila cuba mendapatkan semula nama fail dalam direktori, kod di bawah mungkin menghasilkan tatasusunan yang diisi dengan '1' dan bukannya nama fail sebenar:

if (is_dir($log_directory)) {
    if ($handle = opendir($log_directory)) {
        while($file = readdir($handle) !== FALSE) {
            $results_array[] = $file;
        }
        closedir($handle);
    }
}

Penyelesaian: Menggunakan glob untuk Nama Fail Pengambilan semula:

Untuk mengatasi isu ini dan mendapatkan nama fail yang diingini, adalah disyorkan untuk gunakan fungsi glob. glob mengambil corak laluan fail sebagai hujahnya dan mengembalikan tatasusunan nama fail yang sepadan dengan corak tersebut.

Dengan menggunakan glob, anda boleh mendapatkan semula nama fail dalam direktori dengan mudah menggunakan sintaks berikut:

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

Dalam contoh ini, $log_directory mewakili laluan direktori yang anda ingin dapatkan semula nama fail. Corak *.* sepadan dengan semua fail dengan mana-mana sambungan dalam direktori yang ditentukan.

Dengan mengulang tatasusunan yang dikembalikan oleh glob, anda boleh mengakses nama fail dan melakukan operasi selanjutnya seperti yang diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengambil Nama Fail Direktori dengan Amanah 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