Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengira Fail Dalam Direktori dalam PHP?

Bagaimana Mengira Fail Dalam Direktori dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 13:37:36766semak imbas

How to Count Files Within a Directory in PHP?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn