PHP遍历并打印指定目录下所有文件实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP遍历并打印指定目录下所有文件实例相关的知识,希望对你有一定的参考价值。

参考技术A 这篇文章主要介绍了php遍历并打印指定目录下所有文件实例,需要的朋友可以参考下
代码如下:
<?php
//功能:遍历并打印指定目录下所有文件

function
scan_dir($dir_name,$dir_flag=1)

static
$FILE_COUNT=1;

//记录文件数目
初值为1
目录名称不记
$FILE_COUNT--;

//每调用一次scan_dir()函数自减1
@$dir_handle=opendir($dir_name);

//抑制错误信息显示
便于自定义错误显示
if(!$dir_handle)
die("目录打开错误!");
while(false!==($filename=readdir($dir_handle)))
//文件名为‘0'时,readdir返回
FALSE,判断返回值是否不全等


$flag=$dir_flag;

//古怪的
is_dir($filename)
!
$filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false

if($filename!='.'&&$filename!='..')



$FILE_COUNT++;

//不记录当前路径和上一级路径

while($flag>0&&--$flag)

//负数仍为真

echo
'
';

if(is_dir($dir_name.$filename))
//判断
是否为一个目录



echo
'<strong>'."<a
href=".$dir_name.$filename.">".$filename."</a></strong><br>";

scan_dir($dir_name.$filename.'/',$dir_flag+1);

//$dir_flag标志目录树层次



else



echo
"<a
href=".$dir_name.$filename.">".$filename."</a><br>";





closedir($dir_handle);

//关闭目录句柄
echo
"文件总数:".$FILE_COUNT.'<br>';


scan_dir('D:wampwwwtestlamp61');
//指定的文件路径
?>

用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

1,先看下脚本
cat recursive.sh

#!/bin/sh
read -p "input path:" FilePath

function getAllfiles(){
for file in ls $FilePath
do
if [ -f $file ]
then
echo $file
mv $file /bak_file/
elif test -d $file
then
echo "-------------------------------->"
cd $file
FilePath=pwd
getAllfiles
cd ..
echo -e "33[32m[############$file is a directory ....#######]33[0m"
echo "<-------------------------------"
else
echo "$FilePath is a invalid path"
fi
done

}
cd $FilePath
getAllfiles $FilePath

2,测试,现在讲/test/目录下的所有文件都移动到/bak_file/目录中
2.1,先查看下/test/目录的结构
技术分享图片
2.2,执行脚本,移动/test/目录下的所有文件
sh recursive.sh
2.3,查看/bak_file/目录
技术分享图片
2.4,测试成功,完毕!

以上是关于PHP遍历并打印指定目录下所有文件实例的主要内容,如果未能解决你的问题,请参考以下文章

C#如何遍历指定目录以及指定目录下所有子文件夹,并获取除指定文件类型以外的所有文件的绝对路径?

递归遍历指定目录下所有指定的文件并删除

用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

php遍历输出文件夹内包含指定关键字图片

46练习:输出指定目录下的所有文件名称

go递归打印指定目录下的所有文件及文件夹