多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1、glob():显示某个文件夹目录下的所有文件,参数是目录以及需要显示的文件类型,返回值是数组,例如: //显示a文件夹下的所有php文件 $dir = glob('a\*.php'); echo '<pre>'; print_r($dir); 2、opendir()打开文件、readdir():读取文件、rmdir():删除文件夹目录(只能删除未使用的空目录)、unlink():删除文件。 //打开并读取目录中的内容 $dir = opendir('a'); while($file = readdir($dir)){ echo $file.'<br/>'; } 与glob方法类似,只是opendir和readdir只显示文件名称,并不带有上一级路径! 如果要删除某个文件夹下的所有文件,可以使用如下方法: $dir = opendir('a'); while($file = readdir($dir)){ unlink('a\\'.$file); } 但是如果某个文件夹下面还有文件夹,那么就不能直接删除这个文件夹,需要使用递归的方法,代码如下: function del_dir($dir_name){ $dir = opendir($dir_name); while($file_name = readdir($dir)){ $file_url = $dir_name.'\\'.$file_name; if($file_name!='.'&&$file_name!='..'){ if(is_dir($file_url)){ del_dir($file_url); }else if (is_file($file_url)) { @unlink($file_url); } } } closedir($dir);//关闭刚才打开的文件夹 rmdir($dir_name);//经过以上处理,确认此文件夹中确实没有文件了,只剩下空的文件夹,现在就可以进行执行删除,否则会报错! } del_dir('a'); 以上方法的执行过程是:打开并读取文件夹a里边的内容,利用while循环判断这个文件是不是【.】或【..】,如果是的话,就不执行下面的代码,如果不是的话,再次判断读取到的文件是文件夹还是普通的文件,如果是普通的文件,就直接删除,如果是文件夹,就执行递归,再次循环读取。 某个文件夹下有n个空文件夹,也不能直接删除这个文件夹,因为程序不知道这个文件夹里边的文件夹里是否还有内容,所以可以执行del_dir方法,判定文件夹里边确实没有内容了,就可以删除!