Bagaimana untuk Tentukan dengan Amanah sama ada Direktori Kosong dalam PHP?

DDD
Lepaskan: 2024-10-26 10:09:02
asal
726 orang telah melayarinya

How to Reliably Determine if a Directory is Empty in PHP?

Menentukan Status Kosong Direktori dalam PHP

Untuk memastikan sama ada direktori tiada fail, pendekatan biasa melibatkan penggunaan fungsi terbina dalam PHP seperti glob atau scandir. Walau bagaimanapun, teknik ini mungkin mengabaikan fail tersembunyi tertentu. Untuk memastikan ketepatan, pertimbangkan untuk menggunakan fungsi is_dir_empty().

Fungsi is_dir_empty()

Fungsi is_dir_empty() menggunakan scandir untuk meneliti kandungan direktori. Jika hanya direktori . (direktori semasa) dan .. (direktori induk) hadir, direktori itu dianggap kosong, mengembalikan True. Jika tidak, ia mengembalikan False, menunjukkan kehadiran fail atau subdirektori lain.

Contoh Pelaksanaan

<code class="php">function is_dir_empty($dir) {
  return (count(scandir($dir)) == 2);
}</code>
Salin selepas log masuk

Fungsi Alternatif

Sebagai alternatif, kaedah yang lebih cekap menggunakan opendir dan readdir untuk menyemak terus kehadiran fail tanpa membacanya sepenuhnya.

<code class="php">function dir_is_empty($dir) {
  $handle = opendir($dir);
  while (false !== ($entry = readdir($handle))) {
    if ($entry != "." &amp;&amp; $entry != "..") {
      closedir($handle);
      return false;
    }
  }
  closedir($handle);
  return true;
}</code>
Salin selepas log masuk

Menggunakan Fungsi dalam Struktur Kawalan

Sekali anda telah mengenal pasti fungsi yang sesuai, anda boleh memanfaatkan outputnya secara langsung dalam struktur kawalan tanpa sebarang pembolehubah perantara. Contohnya:

<code class="php">if (is_dir_empty($dir)) {
  echo "The folder is empty.";
} else {
  echo "The folder is NOT empty.";
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Tentukan dengan Amanah sama ada Direktori Kosong dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!