看来你需要scandir
而不是水珠,水珠如无法看到UNIX隐藏文件。
<?php
$pid = basename($_GET["prodref"]); //let's sanitize it a bit
$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) {
if (!is_readable($dir)) return NULL;
return (count(scandir($dir)) == 2);
}
?>
请注意,此代码不是效率的峰会,因为它不需要读所有文件只告诉我们,如果目录为空。所以,更好的版本将是
function dir_is_empty($dir) {
$handle = opendir($dir);
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
return FALSE;
}
}
return TRUE;
}
顺便说一句,不要用话替代布尔值。后者的目的是告诉你是否有空。一个
a === b
表达已返回各自的编程语言,FALSE
或TRUE
方面Empty
或Non Empty
- 所以,你可以使用很结果控制结构像IF()
没有任何中间值
这只是一个错字在你的if语句。使用==(比较)而不是单个=(分配)。 –