一聚教程网:一个值得你收藏的教程网站

热门教程

php创建目录,删除文件夹及查找不合法的目录并删除

时间:2022-07-02 09:24:15 编辑:袖梨 来源:一聚教程网

//$pattern = "/file-([0-2]d{3})-([1-9]d?)/"; 这个正则表达式,对文件夹的月日进行捕获,再进一步判断处理 

02 for($i =2005;$i<=2009;$i++) 

03 { 

04 for($j = 1;$j<30;$j++) 

05 { 

06 $dest_dir = "text/file-".$i."-$j"; 

07 if(!is_dir($dest_dir)) mkdir($dest_dir,0777); 

08 } 

09 } 

10 //创建一些不满足条件的文件夹 

11   

12 for($t = 0;$t<10;$t++) 

13 { 

14 $dest_dir = "text/file-".$t; 

15 if(!is_dir($dest_dir)) mkdir($dest_dir,0777); 

16 } 

17   

18 //遍历文件夹处理 . 

19 function listFile($dir) 

20 {  

21 $a = array(); 

22 $handle = opendir($dir); 

23 while($file = readdir($handle)) 

24 { 

25 handle_dir($dir,$file,&$a); 

26 } 

27   

28 echo "the rege_array is "; 

29 print("

"); 

30 print_r($a); 

31 print("

"); 

32 } 

33   

34 function handle_dir($dir,$file,$a) 

35 { 

36   

37 if($file == "." || $file == "..") return ; 

38 $minYear = 2008; 

39 $maxDay = 13; 

40   

41 $pattern = "/file-([0-2]d{3})-([1-9]d?)/"; 

42 $destPath = $dir."/".$file; 

43   

44 if(!is_dir($destPath)) 

45 { 

46 //echo "$destPath is not a dir ;"; 

47 return; 

48 } 

49   

50 //删除不满足格式的文件 

51 if(!preg_match($pattern,$file)) 

52 { 

53 //echo "$fileis not the right rege. the program will unlink -- $destPath --
"; 

54 // unlink($destPath); 

55 return; 

56 } 

57   

58 preg_match_all($pattern,$file,$matchs); 

59   

60 //echo "$file is the right rege"; 

61 //print_r($matchs); 

62 //echo "the year is ".$matchs[1][0]." and the day is ".$matchs[2][0]."
"; 

63 if(intval($matchs[1][0]) >$minYear && intval($matchs[2][0]) < $maxDay) 

64 { 

65 $a[]= $destPath; 

66 }else { //不满足条件的 

67 //unlink($destPath); 

68   

69 } 

70 } 

71   

72 listFile("text");

热门栏目