国内流行的内容管理系统(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.

165 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 DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2019, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.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. {
  28. $fmm->RenameFile($oldfilename,$newfilename);
  29. }
  30. //新建目录
  31. /*---------------
  32. function __newdir();
  33. ----------------*/
  34. else if($fmdo=="newdir")
  35. {
  36. csrf_check();
  37. $fmm->NewDir($newpath);
  38. }
  39. //移动文件
  40. /*---------------
  41. function __move();
  42. ----------------*/
  43. else if($fmdo=="move")
  44. {
  45. $fmm->MoveFile($filename,$newpath);
  46. }
  47. //删除文件
  48. /*---------------
  49. function __delfile();
  50. ----------------*/
  51. else if($fmdo=="del")
  52. {
  53. $fmm->DeleteFile($filename);
  54. }
  55. //文件编辑
  56. /*---------------
  57. function __saveEdit();
  58. ----------------*/
  59. else if($fmdo=="edit")
  60. {
  61. csrf_check();
  62. $filename = str_replace("..", "", $filename);
  63. $file = "$cfg_basedir$activepath/$filename";
  64. $str = stripslashes($str);
  65. $fp = fopen($file, "w");
  66. fputs($fp, $str);
  67. fclose($fp);
  68. if(empty($backurl))
  69. {
  70. ShowMsg("成功保存一个文件!","file_manage_main.php?activepath=$activepath");
  71. }
  72. else
  73. {
  74. ShowMsg("成功保存文件!",$backurl);
  75. }
  76. exit();
  77. }
  78. /*
  79. 文件编辑,可视化模式
  80. function __saveEditView();
  81. else if($fmdo=="editview")
  82. {
  83. $filename = str_replace("..","",$filename);
  84. $file = "$cfg_basedir$activepath/$filename";
  85. $str = eregi_replace('&quot;','\\"',$str);
  86. $str = stripslashes($str);
  87. $fp = fopen($file,"w");
  88. fputs($fp,$str);
  89. fclose($fp);
  90. if(empty($backurl))
  91. {
  92. $backurl = "file_manage_main.php?activepath=$activepath";
  93. }
  94. ShowMsg("成功保存文件!",$backurl);
  95. exit();
  96. }
  97. */
  98. //文件上传
  99. /*---------------
  100. function __upload();
  101. ----------------*/
  102. else if($fmdo=="upload")
  103. {
  104. $j=0;
  105. for($i=1; $i<=50; $i++)
  106. {
  107. $upfile = "upfile".$i;
  108. $upfile_name = "upfile".$i."_name";
  109. if(!isset(${$upfile}) || !isset(${$upfile_name}))
  110. {
  111. continue;
  112. }
  113. $upfile = ${$upfile};
  114. $upfile_name = ${$upfile_name};
  115. if(is_uploaded_file($upfile))
  116. {
  117. if(!file_exists($cfg_basedir.$activepath."/".$upfile_name))
  118. {
  119. move_uploaded_file($upfile, $cfg_basedir.$activepath."/".$upfile_name);
  120. }
  121. @unlink($upfile);
  122. $j++;
  123. }
  124. }
  125. ShowMsg("成功上传 $j 个文件到: $activepath","file_manage_main.php?activepath=$activepath");
  126. exit();
  127. }
  128. //空间检查
  129. else if($fmdo=="space")
  130. {
  131. if($activepath=="")
  132. {
  133. $ecpath = "所有目录";
  134. }
  135. else
  136. {
  137. $ecpath = $activepath;
  138. }
  139. $titleinfo = "目录 <a href='file_manage_main.php?activepath=$activepath'><b><u>$ecpath</u></b></a> 空间使用状况:<br/>";
  140. $wintitle = "文件管理";
  141. $wecome_info = "文件管理::空间大小检查 [<a href='file_manage_main.php?activepath=$activepath'>文件浏览器</a>]</a>";
  142. $activepath=$cfg_basedir.$activepath;
  143. $space = new SpaceUse;
  144. $space->checksize($activepath);
  145. $total=$space->totalsize;
  146. $totalkb=$space->setkb($total);
  147. $totalmb=$space->setmb($total);
  148. $win = new OxWindow();
  149. $win->Init("","js/blank.js","POST");
  150. $win->AddTitle($titleinfo);
  151. $win->AddMsgItem("  $totalmb M<br/>  $totalkb KB<br/>  $total 字节");
  152. $winform = $win->GetWindow("");
  153. $win->Display();
  154. }