因为php 的rmdir 只能删除空文件夹。
一旦要删除有文件的文件夹,就需要先把文件夹里的文件删除掉。
当然了,还有文件夹里的文件夹,下面还有文件夹。。。。怎么办呢。
递归删除法,完美解决这个问题。上代码
function rmfile($dir){ if(!file_exists($dir)) echo "文件不存在!"; if ($file_dir = opendir($dir)) { while (($sun_file=readdir($file_dir)) != false) { if ($sun_file !=='.' && $sun_file !=='..') { if(is_dir("$dir/$sun_file")){ rmfile("$dir/$sun_file"); } else { unlink("$dir/$sun_file"); } } } } closedir($file_dir); rmdir($dir); } rmfile("./dir");
这是我自己编写的,还有一个别人写的,原理是一样的。也可以参考。最好自己写一遍。
http://blog.csdn.net/wuxiaopeng_1986/article/details/52956870