PHP遍历文件目录与清除目录中的文件

布满荆棘的人生 2022-04-17 04:22 390阅读 0赞

今天无聊中练习了一下PHP遍历文件目录的程序,编写了以下两个程序,不过质量不是很好,轻拍~~~

1、清除PHP缓存文件

  1. <?php
  2. function read_dir($dir,$file)
  3. {
  4. $a =strpos($file,".php");
  5. if($a>0)
  6. {
  7. unlink($dir . $file);
  8. echo "delete $dir$file <br>";
  9. return true;
  10. }
  11. if(strpos($file,".") === 0 || strpos($file,".") !== false ) return true;
  12. if(strpos($file,".") === false || strpos($dir,"/") === false)
  13. {
  14. $dir = $dir . $file . "/";
  15. if(!is_dir($dir)) return false;
  16. $dh = opendir($dir);
  17. while(($file = readdir($dh)) != false)
  18. {
  19. read_dir($dir,$file); //递归调用
  20. }
  21. }
  22. }
  23. function clear_caches()
  24. {
  25. $dir = "./temp/"; //要清除的PHP缓存文件目录
  26. if(!is_dir($dir)) die("It is not a dir");
  27. $dh = opendir($dir);
  28. while(($file = readdir($dh) )!=false)
  29. {
  30. //var_dump($file);
  31. read_dir($dir,$file);
  32. }
  33. }
  34. ?>

2、遍历目录中所有文件

  1. <html>
  2. <head>
  3. <meta http-enquiv="Content-Type" content="text/html;charset=gb2312">
  4. <title>查看目录</title>
  5. </head>
  6. <body>
  7. <table width="600" align="center">
  8. <tr>
  9. <th width="50%">文件名</th>
  10. <th width="25%">修改时间</th>
  11. <th width="25%">文件大小(k)</th>
  12. </tr>
  13. <?php
  14. //$dir = "./admin/";
  15. $dir = "c:/";
  16. $up_dir = "上级目录";
  17. $up_url = $dir;
  18. if(isset($_REQUEST['act']) && $_REQUEST['act']=='list_dir')
  19. {
  20. if(empty($_REQUEST['dir']))
  21. {
  22. $up_dir="目录为空!";
  23. }
  24. $dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : $dir;
  25. }
  26. if(!is_dir($dir))
  27. {
  28. $up_dir="无效目录!";
  29. }
  30. ?>
  31. <tr>
  32. <td colspan="3">
  33. <?php
  34. if(strpos($up_dir,"上级目录")!==false)
  35. {
  36. //if($up_url=="") echo $up_dir;
  37. if($dir != "./admin/")
  38. {
  39. $up_url = substr($dir,0,-1);
  40. $k = strrpos($up_url,"/");
  41. $up_url = substr($up_url,0,$k-strlen($up_url));
  42. $up_url = $up_url ."/";
  43. }
  44. echo "<a href=\"test.php?act=list_dir&dir=$up_url\">$up_dir</a>";
  45. }
  46. else
  47. {
  48. echo $up_dir;
  49. die();
  50. }
  51. ?>
  52. </td>
  53. </tr>
  54. <?php
  55. $up_dir = $dir;
  56. $dh = opendir($dir);
  57. while(($file=readdir($dh)) != false)
  58. {
  59. if($file != "." && $file != ".." && $file != ".svn" )
  60. {
  61. if(strpos($file,".") !==false)
  62. {
  63. $time = date("Y-m-d H:i:s", filectime($dir . $file));
  64. $size = filesize($dir . $file)/1000;
  65. echo "<tr><td>$file</td><td>$time</td><td>$size</td></tr>";
  66. }
  67. else
  68. {
  69. $time = date("Y-m-d H:i:s.", filectime($dir . $file));
  70. $size = filesize($dir . $file)/1000;
  71. $dir = $dir . $file ."/";
  72. echo "<tr><td><a href =\"test.php?act=list_dir&dir=$dir\">$file</a></td><td>$time</td><td>$size</td></tr>";
  73. $dir = $up_dir;
  74. }
  75. }
  76. }
  77. ?>
  78. </table>
  79. <?php die(); ?>
  80. </body>
  81. </html>

发表评论

表情:
评论列表 (有 0 条评论,390人围观)

还没有评论,来说两句吧...

相关阅读