国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
4.0KB

  1. <?php
  2. /**
  3. * 文件管理控制
  4. *
  5. * @version $Id: file_manage_control.php 1 8:48 2010年7月13日Z tianya $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2022, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. require(dirname(__FILE__)."/config.php");
  12. CheckPurview('plus_文件管理器');
  13. require(DEDEINC."/oxwindow.class.php");
  14. require_once(DEDEADMIN.'/file_class.php');
  15. $activepath = str_replace("..", "", $activepath);
  16. $activepath = preg_replace("#^\/{1,}#", "/", $activepath);
  17. if ($activepath == "/") $activepath = "";
  18. if ($activepath == "") $inpath = $cfg_basedir;
  19. else $inpath = $cfg_basedir.$activepath;
  20. //文件管理器交互与逻辑控制文件
  21. $fmm = new FileManagement();
  22. $fmm->Init();
  23. /*---------------
  24. function __rename();
  25. ----------------*/
  26. if ($fmdo == "rename") {
  27. $fmm->RenameFile($oldfilename, $newfilename);
  28. }
  29. //新建目录
  30. /*---------------
  31. function __newdir();
  32. ----------------*/
  33. else if ($fmdo == "newdir") {
  34. CheckCSRF();
  35. $fmm->NewDir($newpath);
  36. }
  37. //移动文件
  38. /*---------------
  39. function __move();
  40. ----------------*/
  41. else if ($fmdo == "move") {
  42. $fmm->MoveFile($filename, $newpath);
  43. }
  44. //删除文件
  45. /*---------------
  46. function __delfile();
  47. ----------------*/
  48. else if ($fmdo == "del") {
  49. $fmm->DeleteFile($filename);
  50. }
  51. //文件编辑
  52. /*---------------
  53. function __saveEdit();
  54. ----------------*/
  55. else if ($fmdo == "edit") {
  56. CheckCSRF();
  57. $filename = str_replace("..", "", $filename);
  58. $file = "$cfg_basedir$activepath/$filename";
  59. $str = stripslashes($str);
  60. $fp = fopen($file, "w");
  61. fputs($fp, $str);
  62. fclose($fp);
  63. if (empty($backurl)) {
  64. ShowMsg("成功保存一个文件", "file_manage_main.php?activepath=$activepath");
  65. } else {
  66. ShowMsg("成功保存文件", $backurl);
  67. }
  68. exit();
  69. }
  70. /*
  71. 文件编辑,可视化模式
  72. function __saveEditView();
  73. else if($fmdo=="editview")
  74. {
  75. $filename = str_replace("..","",$filename);
  76. $file = "$cfg_basedir$activepath/$filename";
  77. $str = eregi_replace('&quot;','\\"',$str);
  78. $str = stripslashes($str);
  79. $fp = fopen($file,"w");
  80. fputs($fp,$str);
  81. fclose($fp);
  82. if(empty($backurl))
  83. {
  84. $backurl = "file_manage_main.php?activepath=$activepath";
  85. }
  86. ShowMsg("成功保存文件",$backurl);
  87. exit();
  88. }
  89. */
  90. //文件上传
  91. /*---------------
  92. function __upload();
  93. ----------------*/
  94. else if ($fmdo == "upload") {
  95. $j = 0;
  96. for ($i = 1; $i <= 50; $i++) {
  97. $upfile = "upfile".$i;
  98. $upfile_name = "upfile".$i."_name";
  99. if (!isset(${$upfile}) || !isset(${$upfile_name})) {
  100. continue;
  101. }
  102. $upfile = ${$upfile};
  103. $upfile_name = ${$upfile_name};
  104. if (is_uploaded_file($upfile)) {
  105. if (!file_exists($cfg_basedir.$activepath."/".$upfile_name)) {
  106. move_uploaded_file($upfile, $cfg_basedir.$activepath."/".$upfile_name);
  107. }
  108. @unlink($upfile);
  109. $j++;
  110. }
  111. }
  112. ShowMsg("成功上传 $j 个文件到: $activepath", "file_manage_main.php?activepath=$activepath");
  113. exit();
  114. }
  115. //空间检查
  116. else if ($fmdo == "space") {
  117. if ($activepath == "") {
  118. $ecpath = "所有目录";
  119. } else {
  120. $ecpath = $activepath;
  121. }
  122. $titleinfo = "目录 <a href='file_manage_main.php?activepath=$activepath'><b>$ecpath</b></a> 空间使用状况:<br>";
  123. $wintitle = "文件管理";
  124. $wecome_info = "文件管理::空间大小检查 [<a href='file_manage_main.php?activepath=$activepath'>文件浏览器</a>]</a>";
  125. $activepath = $cfg_basedir.$activepath;
  126. $space = new SpaceUse;
  127. $space->checksize($activepath);
  128. $total = $space->totalsize;
  129. $totalkb = $space->setkb($total);
  130. $totalmb = $space->setmb($total);
  131. $win = new OxWindow();
  132. $win->Init("", "js/blank.js", "POST");
  133. $win->AddTitle($titleinfo);
  134. $win->AddMsgItem("  $totalmb M<br>  $totalkb KB<br>  $total 字节");
  135. $winform = $win->GetWindow("");
  136. $win->Display();
  137. }