如何在php中区分文件和文件夹?

时间:2013-12-31 12:09:19

标签: php file web directory

我正在创建一个搜索指定目录的程序,并从该目录创建一个无序列表。我需要一个区分文件和文件夹的功能,所以我创建了自己的功能,现在可以满足我的目的,但似乎是一种非常肮脏的做事方式,可能会给我带来问题。这是功能:

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;
}

它检查是否有一个句号,它的名称是扫描的是什么。有没有区分这两者的功能,或者至少是一种更好的方法来实现它?

5 个答案:

答案 0 :(得分:3)

使用is_dir() php函数。

详细信息:http://bd1.php.net/is_dir

if(is_dir($string)){
// folder
}
else{
//file
}

答案 1 :(得分:2)

SplFileInfois_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)

您可以使用is_dir来检查它是文件还是is_file来检查它是否是文件。

答案 4 :(得分:0)

尝试使用函数id_dirhttp://php.net/is_dir