国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

166 lines
4.1KB

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