php删除指定目录下的相关文件实例

在php中删除文件最简单的办法直接使用unlink命令,但本文章介绍的是需要删除指定目录下的指定文件,所以我需要遍历删除了,具体看这个例子,代码如下:

  1. <?php
  2. //删除指定文件夹下的非法文件
  3. function my_del($dir)
  4. {
  5. if(is_dir($dir)){
  6. //打开指定文件夹
  7. if($handle = opendir($dir))
  8. {
  9. while(false !== ($file = readdir($handle)))
  10. {
  11. if($file !== '.' && $file !== '..')
  12. {
  13. my_del($dir.'/'.$file);
  14. }
  15. }
  16. $res = closedir($handle);
  17. }
  18. }else{
  19. //删掉除图片意外的所有文件
  20. $avatararr = array('180x180.jpg', '30x30.jpg', '45x45.jpg', '90x90.jpg'); //开源软件:phpfensi.com
  21. $ex = explode('/', $dir);
  22. $endex = end($ex);
  23. if((strripos($endex,'.jpg') === false) || (substr($endex, -4) != '.jpg')){
  24. //按名称过滤
  25. @unlink($dir);
  26. } else {
  27. //按文件实质内容过滤
  28. $info = @getimagesize($dir);
  29. if(!$info || $info[2] !=2) {
  30. @unlink($dir);
  31. }
  32. }
  33. }
  34. }
  35. $dir='D:/xampp/htdocs/www/avatar001/12/47/';
  36. my_del($dir);
  37. ?>