Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ## Bagaimana untuk Boleh Tentukan Sama ada Direktori Kosong dalam PHP?

## Bagaimana untuk Boleh Tentukan Sama ada Direktori Kosong dalam PHP?

DDD
DDDasal
2024-10-25 04:19:29913semak imbas

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

Mengesahkan Kekosongan Direktori dalam PHP

Menentukan sama ada direktori kosong boleh menjadi tugas penting dalam pelbagai senario pembangunan web. Walau bagaimanapun, skrip tertentu mungkin menghadapi masalah apabila output tersalah mencadangkan direktori kosong atau tidak kosong walaupun terdapat atau ketiadaan fail dalam.

Skrip Asal

Skrip yang disediakan skrip cuba menyemak kekosongan direktori menggunakan kod berikut:

<code class="php">$q = (count(glob("$dir/*")) === 0) ? 'Empty' : 'Not empty';</code>

Walau bagaimanapun, fungsi glob() mungkin gagal mengesan fail tersembunyi Unix, yang membawa kepada keputusan yang tidak tepat.

Penyelesaian yang Diperbaiki

Untuk menyelesaikan isu ini, kami mengesyorkan menggunakan fungsi scandir() dan bukannya glob(), kerana ia boleh mengesan kedua-dua fail biasa dan tersembunyi. Selain itu, untuk meningkatkan kecekapan, kita boleh menggunakan fungsi tersuai untuk menyemak kekosongan dengan lebih cepat:

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

Fungsi ini menyemak sama ada direktori mengandungi hanya dua entri: direktori semasa (".") dan induk direktori (".."), menunjukkan direktori kosong.

Amalan Terbaik

Sebagai amalan terbaik, adalah dinasihatkan untuk menggunakan nilai boolean secara langsung dalam struktur kawalan sebaliknya daripada bergantung pada rentetan teks seperti "Kosong" atau "Tidak kosong." Ungkapan Boolean menyediakan cara yang lebih ringkas dan tepat untuk menentukan keadaan kosong atau tidak kosong.

Sebagai contoh, bukannya menggunakan:

<code class="php">if ($q == "Empty") {
  // ...
}</code>

Anda boleh terus menggunakan:

<code class="php">if (is_dir_empty($dir)) {
  // ...
}</code>

Atas ialah kandungan terperinci ## Bagaimana untuk Boleh Tentukan 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