【问题标题】:How do I distinguish file from folder in php? [duplicate]如何在php中区分文件和文件夹? [复制]
【发布时间】:2014-01-18 09:06:45
【问题描述】:

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

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

它会检查它正在扫描的名称中是否有句点。是否有区分两者的功能,或者至少有更好的实现方式?

【问题讨论】:

  • 使用 is_dir() php 函数。详情:bd1.php.net/is_dir
  • 把它作为答案。
  • 我记得以前看过 is_dir()。由于某种原因不适用于我。问题必须在代码中的其他地方。感谢您的所有帮助。

标签: php file web directory


【解决方案1】:

使用is_dir() php 函数。

详情:http://bd1.php.net/is_dir

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

【讨论】:

    【解决方案2】:

    我觉得你可以用这个

    var_dump(is_dir('foo.txt'));
    var_dump(is_dir('foo/bar'));
    

    将返回

    bool(false)
    bool(true)
    

    查看is_dir 了解更多示例

    【讨论】:

      【解决方案3】:

      SplFileInfois_dir 可以提供帮助。

      <?php
      function isFolder($path) {
          $path = new SplFileInfo($path);
          return $path->isDir();
      }
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2015-02-06
            • 1970-01-01
            • 1970-01-01
            • 2010-11-07
            • 2011-08-20
            • 2017-01-15
            • 2018-11-21
            • 2015-08-04
            • 2014-04-23
            相关资源
            最近更新 更多