php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。
也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作。
用到的函数:
scandir($path) 遍历一个文件夹所有文件并返回数组。 unlink($filename) 删除文件。 rmdir($path) 只删除空文件夹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php //设置需要删除的文件夹 $path = "./Application/Runtime/" ; //清空文件夹函数和清空文件夹后删除空文件夹函数的处理 function deldir( $path ){ //如果是目录则继续 if ( is_dir ( $path )){ //扫描一个文件夹内的所有文件夹和文件并返回数组 $p = scandir( $path ); foreach ( $p as $val ){ //排除目录中的.和.. if ( $val != "." && $val != ".." ){ //如果是目录则递归子目录,继续操作 if ( is_dir ( $path . $val )){ //子目录中操作删除文件夹和文件 deldir( $path . $val . '/' ); //目录清空后删除空文件夹 @ rmdir ( $path . $val . '/' ); } else { //如果是文件直接删除 unlink( $path . $val ); } } } } } //调用函数,传入路径 deldir( $path ); |
总结
以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!