找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 3177|回复: 0

[原生PHP] php获取目录下所有文件及目录-多种方法

[复制链接]

348

主题

940

回帖

91

广播

监察巡站

我是一只咩

积分
443
泰拉
184
水晶
0
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【水贴恶魔】【我很聪明证】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】【香水有毒】【朋友控】【我很囧证】【萝莉控】【视频爱好者】【潜水高手】【我很萌证】【我是公主】

QQ
发表于 2021-5-11 11:01:56 | 显示全部楼层 |阅读模式

  1. //某个目录下的文件和文件夹
  2. function getDirContent($path){
  3.   if(!is_dir($path)){
  4.     return false;
  5.   }
  6.   //readdir方法
  7.   /* $dir = opendir($path);
  8.   $arr = array();
  9.   while($content = readdir($dir)){
  10.     if($content != '.' && $content != '..'){
  11.       $arr[] = $content;
  12.     }
  13.   }
  14.   closedir($dir); */

  15.   //scandir方法
  16.   $arr = array();
  17.   $data = scandir($path);
  18.   foreach ($data as $value){
  19.     if($value != '.' && $value != '..'){
  20.       $arr[] = $value;
  21.     }
  22.   }
  23.   return $arr;
  24. }
复制代码



下面介绍的三种方法,是获取某个目录下所有的目录(包括子目录,子孙目录)和文件,直到最里层

  1. function searchDir($path,&$files){

  2.   if(is_dir($path)){

  3.     $opendir = opendir($path);

  4.     while ($file = readdir($opendir)){
  5.       if($file != '.' && $file != '..'){
  6.         searchDir($path.'/'.$file, $files);
  7.       }
  8.     }
  9.     closedir($opendir);
  10.   }
  11.   if(!is_dir($path)){
  12.     $files[] = $path;
  13.   }
  14. }
  15. //得到目录名
  16. function getDir($dir){
  17.   $files = array();
  18.   searchDir($dir, $files);
  19.   return $files;
  20. }
  21. $filenames = getDir('lss');

  22. foreach ($filenames as $value){
  23.   echo $value.'<br/>';
  24. }
复制代码

  1. function getDir($path){

  2.   if(is_dir($path)){

  3.     $dir = scandir($path);
  4.     foreach ($dir as $value){
  5.       $sub_path =$path .'/'.$value;
  6.       if($value == '.' || $value == '..'){
  7.         continue;
  8.       }else if(is_dir($sub_path)){
  9.         echo '目录名:'.$value .'<br/>';
  10.         getDir($sub_path);
  11.       }else{
  12.         //.$path 可以省略,直接输出文件名
  13.         echo ' 最底层文件: '.$path. ':'.$value.' <hr/>';
  14.       }
  15.     }
  16.   }
  17. }
  18. $path = 'lss';
  19. getDir($path);
复制代码

  1. function getDir($path){
  2.   $arr = array();
  3.     $arr[] = $path;
  4.   if(is_file($path)){

  5.   }else{
  6.     if(is_dir($path)){
  7.       $data = scandir($path);
  8.       if(!empty($data)){
  9.         foreach ($data as $value){
  10.           if($value != '.' && $value != '..'){
  11.             $sub_path = $path."/".$value;
  12.             $temp = getDirContent($sub_path);
  13.             $arr = array_merge($temp,$arr);
  14.           }         
  15.         }

  16.       }
  17.     }
  18.   }

  19.   return $arr;
  20. }
  21. $path = 'lss';
  22. var_dump(getDir($path));
复制代码

获得 大衰神卡 一张

卡片说明:袖白雪 被 [长青的古木] 附体!失去了 27 泰拉.

卡片效果:损失 27 泰拉

有钱的捧个钱场 , 没钱的借钱捧个钱场!
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-3-29 03:09 , Processed in 1.313006 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表