微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP 遍历文件功能实例

PHP 遍历文件实现代码感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

/**
 * PHP 遍历文件实现代码
 *
 * @param 
 * @arrange 512-笔记网: jb51.cc
 **/
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>'; 
} 
} 
/***   来自编程之家 jb51.cc(jb51.cc)   ***/

PHP遍历文件文件夹 加入给定文件夹 C:\\Windows\\AppPatch 1.首先获取这个文件夹下面的所有东西,也就是文件文件夹,放一个数组里面

/**
 * PHP 遍历文件实现代码
 *
 * @param 
 * @arrange 512-笔记网: jb51.cc
 **/
$fileArr = array( 
'files' => array(),//文件一个数组 
'dirs' => array(),//文件夹放一个数组 
)
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏 

/**
 * PHP 遍历文件实现代码
 *
 * @param 
 * @arrange 512-笔记网: jb51.cc
 **/
<?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>'; 
?>
/***   来自编程之家 jb51.cc(jb51.cc)   ***/

PHP遍历一个文件夹下的所有目录及文件 在面试中我们经常遇到这个题目:PHP遍历一个文件夹下的所有文件和子文件夹。   这个题目有好多种解决方法。但大致思路都一样。采用递归。

/**
 * PHP 遍历文件实现代码
 *
 * @param 
 * @arrange 512-笔记网: jb51.cc
 **/
$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); 
/***   来自编程之家 jb51.cc(jb51.cc)   ***/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐