PHP 遍历文件实现代码

2015-01-24信息快讯网

小笔记, PHP 遍历所有文件, 包括子目录中的文件. 和压缩文件的类结合起来的话, 就可以打包整个目录了.

 
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 json格式和js json格式 js跨域调用实现代码
php比较多维数组中值的大小排序实现代码
JSON在PHP中的应用介绍
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
巧用php中的array_filter()函数去掉多维空值的代码分享
用来解析.htpasswd文件的PHP类
用来解析.htgroup文件的PHP类
php中判断文件空目录是否有读写权限的函数代码
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
深入理解PHP之数组(遍历顺序) Laruence原创
PHP遍历数组的几种方法
php遍历数组的方法分享
遍历指定目录下的所有目录和文件的php代码
php 安全过滤函数代码
PHP中使用CURL伪造来路抓取页面或文件
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
PHP的substr_replace将指定两位置之间的字符替换为*号
php join函数应用
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
PHP遍历二维数组的代码
关于session在PHP5的配置文件中的详细设置参数说明
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
php中关于普通表单多文件上传的处理方法
php文件上传表单摘自drupal的代码
php visitFile()遍历指定文件夹函数
PHP 数组遍历方法大全(foreach,list,each)
PHP var_dump遍历对象属性的函数与应用代码
php is_file()和is_dir()用于遍历目录时用法注意事项
©2014-2024 dbsqp.com