PHP 遍历文件实现代码


Posted in PHP onMay 04, 2011
function Files($path) 
{ 
foreach(scandir($path) as $line) 
{ 
if($line=='.'||$line=='..') continue; 
if(is_dir($path.'/'.$line)) Files($path.'/'.$line); 
else echo '<li>'.$path.'/'.$line.'</li>'; 
} 
}

PHP遍历文件及文件夹
加入给定文件夹 C:\\Windows\\AppPatch
1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面
$fileArr = array(
'files' => array(), //文件放一个数组
'dirs' => array(), //文件夹放一个数组
)
2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏
<?php 
$dir = 'F:\\game'; 
function read_dir_all($dir) { 
$ret = array('dirs'=>array(), 'files'=>array()); 
if ($handle = opendir($dir)) { 
while (false !== ($file = readdir($handle))) { 
if($file != '.' && $file !== '..') { 
$cur_path = $dir . DIRECTORY_SEPARATOR . $file; 
if(is_dir($cur_path)) { 
$ret['dirs'][$cur_path] = read_dir_all($cur_path); 
} else { 
$ret['files'][] = $cur_path; 
} 
} 
} 
closedir($handle); 
} 
return $ret; 
} 
$p = read_dir_all($dir); 
echo '<pre>'; 
var_dump($p); 
echo '</pre>'; 
?>

php遍历一个文件夹下的所有目录及文件
在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹。

这个题目有好多种解决方法。但大致思路都一样。采用递归。

$path = './filepath'; 
function getfiles($path) 
{ 
if(!is_dir($path)) return; 
$handle = opendir($path); 
while( false !== ($file = readdir($handle))) 
{ 
if($file != '.' && $file!='..') 
{ 
$path2= $path.'/'.$file; 
if(is_dir($path2)) 
{ 
echo ' '; 
echo $file; 
getfiles($path2); 
}else 
{ 
echo ' '; 
echo $file; 
} 
} 
} 
} 
print_r( getfiles($path)); 
echo '<HR>'; 
function getdir($path) 
{ 
if(!is_dir($path)) return; 
$handle = dir($path); 
while($file=$handle->read()) 
{ 
if($file!='.' && $file!='..') 
{ 
$path2 = $path.'/'.$file; 
if(is_dir($path2)) 
{ 
echo $file."\t"; 
getdir($path2); 
}else 
{ 
echo $file.' '; 
} 
} 
} 
} 
getdir($path); 
echo '<HR>'; 
function get_dir_scandir($path){ 
$tree = array(); 
foreach(scandir($path) as $single){ 
if($single!='.' && $single!='..') 
{ 
$path2 = $path.'/'.$single; 
if(is_dir($path2)) 
{ 
echo $single."\r\n"; 
get_dir_scandir($path2); 
}else 
{ 
echo $single."\r\n"; 
} 
} 
} 
} 
get_dir_scandir($path); 
echo ' 
<HR>'; 
function get_dir_glob(){ 
$tree = array(); 
foreach(glob('./curl/*') as $single){ 
echo $single."\r\n"; 
} 
} 
get_dir_glob(); 
echo ' 
<HR>'; 
function myscandir($path) 
{ 
if(!is_dir($path)) return; 
foreach(scandir($path) as $file) 
{ 
if($file!='.' && $file!='..') 
{ 
$path2= $path.'/'.$file; 
if(is_dir($path2)) 
{ 
echo $file; 
myscandir($path2); 
}else 
{ 
echo $file.' '; 
} 
} 
} 
} 
myscandir($path); 
echo '<HR>'; 
function myglob($path) 
{ 
$path_pattern = $path.'/*'; 
foreach(glob($path_pattern) as $file) 
{ 
if(is_dir($file)) 
{ 
echo $file; 
myscandir($file); 
}else 
{ 
echo $file.' '; 
} 
} 
} 
myglob($path);
PHP 相关文章推荐
劣质的PHP代码简化
Feb 08 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
深入php多态的实现详解
Jun 09 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
PHP链表操作简单示例
Oct 15 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 #PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 #PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 #PHP
php join函数应用
May 04 #PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 #PHP
drupal 代码实现URL重写
May 04 #PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 #PHP
You might like
PHP mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php获取apk包信息的方法
2014/08/15 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
YII框架http缓存操作示例
2019/04/29 PHP
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
初步讲解Python中的元组概念
2015/05/21 Python
Python常见工厂函数用法示例
2018/03/21 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
python定时截屏实现
2020/11/02 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
教育技术职业规划范文
2014/03/04 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
自荐信格式模板
2015/03/27 职场文书
图神经网络GNN算法
2022/05/11 Python