Mengira Fail dalam Direktori PHP
Dalam projek baru-baru ini, anda menghadapi keperluan untuk menentukan bilangan fail dalam direktori tertentu. Anda telah mencuba kod berikut:
<code class="php">$dir = opendir('uploads/'); $i = 0; while (false !== ($file = readdir($dir))) { if (!in_array($file, array('.', '..') and !is_dir($file)) $i++; } echo "There were $i files";</code>
Walau bagaimanapun, anda menghadapi kesukaran untuk memaparkan keputusan dengan betul. Pendekatan yang lebih cekap menggunakan kelas FilesystemIterator disyorkan:
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Kod ini memanfaatkan kelas FilesystemIterator, yang menyediakan lelaran untuk melintasi fail dan direktori dalam sistem fail. Dengan menyatakan bendera SKIP_DOTS, ia melangkau direktori khas "." dan ".." dalam pengiraan. Fungsi iterator_count() mengira bilangan elemen dalam iterator, memberikan anda jumlah kiraan fail dalam direktori yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Fail dengan Cekap dalam Direktori PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!