Mengira Fail dalam Direktori dalam PHP
Satu tugas biasa dalam pengaturcaraan ialah menentukan bilangan fail dalam direktori tertentu. PHP menawarkan beberapa kaedah untuk mencapai ini, dan kami akan meneroka dua pendekatan di sini.
Kaedah 1: Menggunakan Fungsi scandir
Fungsi scandir mengimbas kandungan direktori dan mengembalikan tatasusunan nama fail dan direktori. Untuk mengira fail sahaja, anda boleh menapis keluar masukan direktori semasa dan induk (. dan ..), seperti berikut:
<code class="php">$dir = "uploads/"; $files = array_filter(scandir($dir), function ($file) { return !in_array($file, ['.', '..']) && !is_dir($file); }); echo "There were " . count($files) . " files";</code>
Kaedah 2: Menggunakan Kelas FilesystemIterator
Kelas FilesystemIterator menyediakan cara yang lebih cekap dan berorientasikan objek untuk lelaran ke atas direktori. Dengan melangkau direktori semasa dan induk, anda boleh mengira terus bilangan fail:
<code class="php">$dir = __DIR__; $fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Kedua-dua kaedah secara berkesan mengira bilangan fail dalam direktori, dengan kelas FilesystemIterator menjadi lebih cekap sedikit. Pilih kaedah yang sesuai berdasarkan keutamaan anda dan keperluan projek anda.
Atas ialah kandungan terperinci Bagaimana Mengira Fail Dalam Direktori dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!