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

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

DDD
Lepaskan: 2024-10-25 04:19:29
asal
1043 orang telah melayarinya

## 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Anda boleh terus menggunakan:

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

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!

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