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!