Mengira Fail dalam Direktori dengan PHP
Apabila bekerja dengan direktori dalam PHP, selalunya berguna untuk menentukan bilangan fail yang terdapat di dalamnya. Untuk mencapai matlamat ini, beberapa kaedah tersedia.
Kaedah 1: Menggunakan Opendir() dan Readdir()
Pendekatan tradisional melibatkan penggunaan opendir() dan readdir( ) fungsi. Fungsi ini memerlukan manipulasi laluan direktori yang jelas dan lelaran manual ke atas fail. Seperti yang dilihat dalam coretan kod yang anda berikan:
<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>
Semasa kaedah ini berfungsi, ia boleh menyusahkan dalam situasi tertentu.
Kaedah 2: Menggunakan SPL FilesystemIterator
Alternatif yang lebih moden ialah menggunakan kelas SPL FilesystemIterator. Iterator ini membolehkan pengimbasan direktori yang lebih mudah dan cekap. Berikut ialah contoh:
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Dalam kod ini:
Kaedah ini memudahkan kod dan menyediakan penyelesaian yang lebih elegan untuk mengira fail dalam direktori.
Atas ialah kandungan terperinci Bagaimana Mengira Fail dalam Direktori dengan PHP: Opendir/Readdir vs. FilesystemIterator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!