Rumah > Artikel > pembangunan bahagian belakang > Bagaimana Mengira Fail dalam Direktori Menggunakan PHP?
Mengira Fail dalam Direktori Menggunakan PHP
Dalam projek anda, anda sedang mencari untuk menentukan bilangan fail dalam direktori tertentu. Mari kita mendalami cara untuk mencapai ini menggunakan PHP.
Kod yang anda berikan pada mulanya berulang melalui direktori menggunakan fungsi readdir(). Walau bagaimanapun, ia tidak mengambil kira fail tersembunyi atau subdirektori. Untuk menangani perkara ini, anda boleh menggunakan pendekatan yang diperhalusi berikut:
<code class="php">$dir = opendir('uploads/'); # Directory to count files from $i = 0; # Initialize counter $excludedFiles = ['.', '..']; # Ignore these files # Iterate through the directory while (false !== ($file = readdir($dir))) { if (!in_array($file, $excludedFiles) && !is_dir($file)) { $i++; } } closedir($dir); echo "There were $i files"; # Output the count</code>
Dengan mengecualikan fail tersembunyi (bermula dengan ".") dan subdirektori (ditentukan oleh is_dir()), kod yang disemak ini hanya mengira fail biasa dengan tepat dalam direktori yang ditentukan.
Sebagai alternatif, anda boleh menggunakan pendekatan yang lebih ringkas berdasarkan FilesystemIterator:
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Di sini, kelas FilesystemIterator melangkau fail tersembunyi (.) dan direktori induk (.. ), menjadikannya penyelesaian yang mudah untuk mengira fail. Kedua-dua kaedah menyediakan pengiraan fail yang tepat dan cekap dalam direktori, bergantung pada pilihan anda.
Atas ialah kandungan terperinci Bagaimana Mengira Fail dalam Direktori Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!