欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php遍历文件夹并实现编辑与删除的代码

程序员文章站 2022-05-03 15:10:52
...
  1. /*
  2. 遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称;
  3. */
  4. $path=$DOCUMENT_ROOT;
  5. $path=str_replace("/","\\",$path);
  6. //指定文件夹
  7. $path=$path."\\";
  8. if($_GET['folder'])
  9. {
  10. $path.=$_GET['folder']."\\";
  11. }
  12. //本页面路径,下面传回时将用到;
  13. $url=$_SERVER['PHP_SELF'];
  14. //如果是文件夹,将加上链接;
  15. function folder($path,$str)
  16. {
  17. if(filetype($path.$str)=="dir")
  18. {
  19. return "$str";
  20. }else{
  21. return $str;
  22. }
  23. }
  24. switch($_GET['action'])
  25. {
  26. case "del";
  27. if($_GET['type']=="file")
  28. {
  29. unlink($_GET['path']);
  30. }else{
  31. rmdir($_GET['path']);
  32. }
  33. echo "";
  34. break;
  35. case "edit";
  36. if($_GET['type']=="file")
  37. {
  38. $file=fopen($_GET['path'],"r");
  39. while(!feof($file))
  40. {
  41. $result.=fgets($file,9999);
  42. }
  43. fclose($file);
  44. echo '
  45. >> 编辑文件 > 返回
    ->文件名:'.$_GET['path'].'
  46. ';
  47. }else{
  48. echo '
  49. >> 新建文件 > 返回
    ->文件夹更名:
  50. ';
  51. }
  52. break;
  53. case "editsave";
  54. $file=fopen($_GET['path'],"w");
  55. fwrite($file,$_POST['textarea']);
  56. fclose($file);
  57. echo "";
  58. break;
  59. case "addfile";
  60. echo '
  61. >> 新建文件 > 返回
    ->文件名:
  62. ';
  63. break;
  64. case "filesave";
  65. //包含点则建立文件,否则建立文件夹
  66. if(strpos($_POST['filename'],"."))
  67. {
  68. $file=fopen($_POST['filename'],"w");
  69. fwrite($file,$_POST['textarea']);
  70. fclose($file);
  71. }else{
  72. //文件夹若存在则退出,不存在则建立!
  73. if(file_exists($_POST['filename']))
  74. {
  75. exit;
  76. }else{
  77. mkdir($_POST['filename']);
  78. }
  79. }
  80. echo "";
  81. break;
  82. case "dir_rename";
  83. rename($_GET['path'],$_POST['filename']);
  84. echo "";
  85. break;
  86. default:
  87. $s=explode("\n",trim(`dir/b/o:gn $path`));
  88. echo '
  89. ';
  90. foreach($s as $value)
  91. {
  92. echo '
  93. ';
  94. }
  95. echo "
  96. >> 文件管理 > 建立文件 > 返回
    文件/文件夹 文件属性 文件大小 操作
    '.folder($path,$value).' '.filetype($path.$value).' '.round(filesize($path.$value)/1024).'kb 编辑 | 删除
    ";
  97. break;
  98. }
  99. ?>
复制代码