<?php
//系统函数之递归函数
function func($dir)
{
//打开一个文件资源;
$file=opendir($dir);
//读取文件资源
readdir($file)."<br>";//文件夹下的第一个文件为当前目录"."
readdir($file)."<br>";//文件夹下的第二个文件为表示上级目录的".."
//循环遍历除了"."和".."的文件资源
while($filename=readdir($file))
{
$nfile=$dir."/".$filename;//将文件路径转移到$dir文件夹内部;
if(is_dir($nfile))
{
echo "目录:".$filename."<br>";
func($nfile);//递归函数:如果在函数中发现需要执行和函数本身功能一样的功能,就可以直接使用在函数中来调用函数本身
}
else
echo "文件:".$filename."<br>";
}
//关闭一个文件资源
closedir($file);
}
func("./apache");
//递归函数理解难点:最重要的是要明白递归函数归的概念,函数执行完了之后要重新从最里层函数中一层层跳出来,否则就会陷入死循环,如下举例:
function test($num)
{
echo $num."<br>";
if($num>0)
test($num-1);
else
echo "--------<br>";
echo $num."<br>";
}
test(10);
?>
//系统函数之递归函数
function func($dir)
{
//打开一个文件资源;
$file=opendir($dir);
//读取文件资源
readdir($file)."<br>";//文件夹下的第一个文件为当前目录"."
readdir($file)."<br>";//文件夹下的第二个文件为表示上级目录的".."
//循环遍历除了"."和".."的文件资源
while($filename=readdir($file))
{
$nfile=$dir."/".$filename;//将文件路径转移到$dir文件夹内部;
if(is_dir($nfile))
{
echo "目录:".$filename."<br>";
func($nfile);//递归函数:如果在函数中发现需要执行和函数本身功能一样的功能,就可以直接使用在函数中来调用函数本身
}
else
echo "文件:".$filename."<br>";
}
//关闭一个文件资源
closedir($file);
}
func("./apache");
//递归函数理解难点:最重要的是要明白递归函数归的概念,函数执行完了之后要重新从最里层函数中一层层跳出来,否则就会陷入死循环,如下举例:
function test($num)
{
echo $num."<br>";
if($num>0)
test($num-1);
else
echo "--------<br>";
echo $num."<br>";
}
test(10);
?>