Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Cekap Menentukan sama ada Direktori Kosong dalam PHP?

Bagaimana untuk Cekap Menentukan sama ada Direktori Kosong dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-24 17:36:17598semak imbas

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

Menyemak Kekosongan Direktori dalam PHP

Untuk mengesahkan sama ada direktori kosong atau tidak, menggunakan fungsi PHP boleh menjadi berkesan. Walau bagaimanapun, adalah penting untuk memilih fungsi yang sesuai berdasarkan keperluan khusus.

Pendekatan dan Isu Asal

Skrip yang disediakan menggunakan fungsi glob untuk mengimbas direktori. Apabila tiada fail hadir, ia sepatutnya menunjukkan "kosong." Walau bagaimanapun, skrip secara salah mendakwa bahawa direktori itu kosong walaupun terdapat fail dan sebaliknya.

Pelaksanaan Yang Diperbaiki

Untuk menangani isu ini, pertimbangkan untuk menggunakan fungsi scandir bukannya glob, kerana glob mungkin terlepas pandang fail tersembunyi. Kod yang dipertingkatkan di bawah menggabungkan perubahan ini:

<code class="php"><?php
$pid = basename($_GET["prodref"]); // Sanitize input
$dir = "/assets/$pid/v";

if (is_dir_empty($dir)) {
  echo "the folder is empty";
}else{
  echo "the folder is NOT empty";
}

function is_dir_empty($dir) {
  return (count(scandir($dir)) == 2); // Check for only"." and ".."
}
?></code>

Penyelesaian Optimum

Untuk kecekapan yang lebih tinggi, penyelesaian yang lebih optimum wujud:

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

Fungsi ini menyemak pemegang direktori dan secara langsung mengembalikan benar atau salah dan bukannya mengira fail.

Pengesyoran Konvensyen Penamaan

Selain itu, secara amnya disyorkan untuk menggunakan nilai boolean (true atau palsu) dan bukannya nilai rentetan ("Kosong" atau "Tidak kosong") dalam struktur kawalan untuk mengelakkan kekeliruan.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Menentukan 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