Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Penyenaraian Direktori PHP Saya Mengembalikan '1' Daripada Nama Fail?

Mengapa Penyenaraian Direktori PHP Saya Mengembalikan '1' Daripada Nama Fail?

Susan Sarandon
Lepaskan: 2024-12-05 06:39:15
asal
641 orang telah melayarinya

Why Does My PHP Directory Listing Return

Mengambil Nama Fail daripada Direktori dalam PHP

Dalam PHP, mendapatkan nama fail dalam direktori boleh menjadi tugas yang mudah. Walau bagaimanapun, anda mungkin menghadapi masalah di mana kod yang anda berikan mengembalikan '1' dan bukannya nama fail.

Mari kita mendalami kod:

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

Dalam kod ini, anda sedang cuba membaca fail dari direktori menggunakan opendir() dan readdir(). Walaupun pendekatan ini berfungsi dalam banyak kes, pendekatan ini mungkin tidak selalu memaparkan nama fail dengan betul.

Penyelesaian: Menggunakan glob() untuk Pengambilan Fail

Daripada menggunakan opendir( ) dan readdir(), pertimbangkan untuk memanfaatkan fungsi glob(). Ia menyediakan cara yang lebih cekap untuk mendapatkan semula senarai fail dalam direktori:

foreach(glob($log_directory.'/*.*') as $file) {
    ...
}
Salin selepas log masuk

Dalam kod ini, glob() akan mencari $log_directory untuk semua fail dengan sebarang sambungan fail (*.*). Ia mengembalikan tatasusunan yang mengandungi laluan penuh ke fail yang ditemui.

Dengan melelaran tatasusunan yang diperoleh daripada glob(), anda boleh mengakses setiap laluan penuh fail, termasuk namanya. Kaedah ini menghapuskan isu mendapatkan '1' sebagai nama fail, memberikan anda nama fail sebenar dalam direktori.

Atas ialah kandungan terperinci Mengapa Penyenaraian Direktori PHP Saya Mengembalikan '1' Daripada Nama Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan