文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了PHP-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);