php 能不能遍历上一级目录的文件?

设计手 2017-07-21 03:10:20

比如根目录c:\ipubnet\wwwroot

想获取ipubnet文件夹内有多少个子文件夹,这个可以做到吗?
...全文
291 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
设计手 2017-07-25
  • 打赏
  • 举报
回复
引用 6 楼 fdipzone 的回复:

$data = glob('c:\ipubnet\*');
print_r($data);
版主牛逼人物啊,一直神一样的存在!!感激不尽! 目的已经实现,是linux系统权限问题,已经解决,代码如下

function SoTodayFile($FilePath = '.')
{
   if (!is_dir($FilePath)) exit;
   
   $SoSuoFolder = opendir($FilePath);    //opendir()返回一个目录句柄,失败返回false

   while(($SoSuoFile = readdir($SoSuoFolder)) !== false)
   {    
        $sub_dir = $FilePath . DIRECTORY_SEPARATOR . $SoSuoFile;   //构建子目录路径
		if($SoSuoFile == '.' || $SoSuoFile == '..')
		{
           continue;
        }
		else if(is_dir($sub_dir))
		{  
           SoTodayFile($sub_dir);   //如果是子目录则进行递归
		} 
		else
		{
           //如果是文件,直接输出
		   $SoFileName = $FilePath.'/'.$SoSuoFile;
		   $SoFileTime = date("Y-m-d",filemtime($SoFileName));
		   
		   //进行正则判断是不是要查找的文件类型,并且给予时间判断
		   if ( preg_match( "/\.(doc)$/i" , $SoSuoFile )  &&  $SoFileTime == date("Y-m-d"))
		   {
		       echo "文件名:".$SoFileName. "<br>";
		   }
        }
   }
   closedir($SoSuoFolder);
}
请@fdipzone 版主帮忙优化一下,感觉有点耗时啊
lyshensir 2017-07-25
  • 打赏
  • 举报
回复
引用 6 楼 fdipzone 的回复:

$data = glob('c:\ipubnet\*');
print_r($data);
666
傲雪星枫 2017-07-22
  • 打赏
  • 举报
回复

$data = glob('c:\ipubnet\*');
print_r($data);
傲雪星枫 2017-07-22
  • 打赏
  • 举报
回复
../当前目录 然后一样的遍历。
设计手 2017-07-22
  • 打赏
  • 举报
回复
引用 3 楼 Just_cl 的回复:

function getDirNum($path){
    $realPath=$path.'*';
    $dirNum =0;
    foreach (glob($realPath) as $v){
      if(is_dir($v)){
            $dirNum++;
            $dirNum+=getDirNum($v.'/');
        }
    }
    return $dirNum;
}
echo (getDirNum(dirname("c:/ipubnet/wwwroot")));
不知道对不对
好像有点意思哈,显示出的是数字, 假设服务器根目录是这样:/volume2/web/11.php 能不能遍历出volume2文件夹下面有多少个文件?并且列出文件名? 不知道这样是否可行?
Just_cl 2017-07-21
  • 打赏
  • 举报
回复

function getDirNum($path){
    $realPath=$path.'*';
    $dirNum =0;
    foreach (glob($realPath) as $v){
      if(is_dir($v)){
            $dirNum++;
            $dirNum+=getDirNum($v.'/');
        }
    }
    return $dirNum;
}
echo (getDirNum(dirname("c:/ipubnet/wwwroot")));
不知道对不对
设计手 2017-07-21
  • 打赏
  • 举报
回复
引用 楼主 zyw147 的回复:
比如根目录c:\ipubnet\wwwroot 想获取ipubnet文件夹内有多少个子文件夹,这个可以做到吗?
赐点代码吧,多谢多谢!
u014567183 2017-07-21
  • 打赏
  • 举报
回复
可以做到,只要有权限就可以。跟正常读取目录下文件没什么区别。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧