Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Tentukan dengan Amanah sama ada Direktori Kosong dalam PHP?

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

DDD
DDDasal
2024-10-26 10:09:02727semak imbas

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>

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>

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>

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!

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