我正在创建一个搜索指定目录的程序,并从该目录创建一个无序列表。我需要一个区分文件和文件夹的功能,所以我创建了自己的功能,现在可以满足我的目的,但似乎是一种非常肮脏的做事方式,可能会给我带来问题。这是功能:
function isFolder($string)
{
$isFolder = true;
$str_array = str_split($string);
$counter = 0;
while($counter < count($str_array))
{
if($str_array[$counter] == '.') {
$isFolder = false;
break;
} else {
$counter++;
}
}
return $isFolder;
}
它检查是否有一个句号,它的名称是扫描的是什么。有没有区分这两者的功能,或者至少是一种更好的方法来实现它?
答案 0 :(得分:3)
答案 1 :(得分:2)
SplFileInfo
或is_dir
可以提供帮助。
<?php
function isFolder($path) {
$path = new SplFileInfo($path);
return $path->isDir();
}
答案 2 :(得分:1)
我认为你可以使用这个
var_dump(is_dir('foo.txt'));
var_dump(is_dir('foo/bar'));
将返回
bool(false)
bool(true)
检查is_dir了解更多示例
答案 3 :(得分:0)
答案 4 :(得分:0)
尝试使用函数id_dir
:http://php.net/is_dir