用一个函数遍历目录下所有文件

一、使用函数:

  is_dir(): 函数检查指定的文件是否是目录,返回布尔值

  scandir(directory): 函数返回指定目录中的文件和目录的数组

二、遍历思路:

  (1)首先接收一个目录名称,然后用scandir扫描,其中会有两个额外的目录是“."和”..“需要去掉

  (2)然后遍历扫描后的每个文件是否为目录文件,如果是则在回调到第一步扫描里面的文件

三、实现代码:

$dir="think";   //需要遍历的目录

function scanDirList($dir){
    $scan = scandir($dir);      //扫描文件夹
    foreach ($scan as $key => $value) {
        if($value != '.' && $value != '..'){    //去除掉多余的'.'和'..'两个文件
            $path = $dir.'/'.$value;    //拼接当前父级目录,使最终输出完整目录
            if(is_dir($path)){      //判断扫描后的文件是否为目录,如果是则递归继续扫描,否则输出当前完整路径的文件名称
                scanDirList($path); 
            }else{
                echo "<p>$path</p>";
            }
        }
    }
}

scanDirList($dir);

 

常用的文件命令:

r:只读取文件

$file=fopen('text2.txt','r');
$content=fread($file,filesize('text2.txt'));
var_dump($content);
fclose($file); 

w+:读写方式打开,如果文件不存在则创建。覆盖写入

$file=fopen('text2.txt','w+');
fwrite($file,'你好');
fclose($file);

a+:读写方式打开,如果文件不存在则创建。追加写入

$file=fopen('text2.txt','a');
fwrite($file,'你好');
fclose($file);

  

posted @ 2018-05-23 23:29  legendheng  阅读(985)  评论(0)    收藏  举报