Просмотр файла admin_panel/explorer_pro.php

Размер файла: 22.88Kb
  1. <?php
  2. session_start();
  3. $ip = preg_replace('|[^0-9\.]|', '', $_SERVER['REMOTE_ADDR']);
  4. include_once("libzip.dat");//Баблиотека для zip архивов
  5. if($_SESSION['PHPSESSED'] == !NULL && $_SESSION['login'] == !NULL && $_SESSION['PHPSESSED'] == $_SESSION['gener'] && $_SESSION['login'] == $_COOKIE['login'] && $_SESSION['ip'] == $ip){
  6. echo'<style type="text/css">
  7. body {
  8. font:12px Verdana;
  9. max-width:380px;
  10. margin:0 auto;
  11. background:#fff;
  12. }
  13.  
  14. img {
  15. border:none;
  16. padding:0px;
  17. }
  18.  
  19. div {
  20. margin-top:1px;
  21. margin-bottom:1px;
  22. }
  23.  
  24. .head {
  25. background:#82e24d url(/style/default/head.png);
  26. height:40px;
  27. border:1px solid #5bff00;
  28. }
  29.  
  30. .razd {
  31. background:#ecd725 url(/style/default/razdel.png);
  32. padding:4px;
  33. border:1px solid #ffe400;
  34. color:#c19d0c;
  35. font-weight:700;
  36. }
  37.  
  38. .menu {
  39. background:#eee url(/style/default/menu.png) repeat-x top;
  40. padding:4px;
  41. border:1px solid #ccc;
  42. border-radius:5px;
  43. }
  44.  
  45. .foot {
  46. background:#82e24d url(/style/default/foot.png);
  47. padding:4px;
  48. border:1px solid #5bff00;
  49. }
  50.  
  51. a {
  52. color:#45b607;
  53. text-decoration:none;
  54. }
  55.  
  56. a:hover {
  57. color:#7dde48;
  58. text-decoration:underline;
  59. }
  60. hr { margin-bottom: 2px;border: 0;border-top:1px dotted #c4c4c4; }
  61. input[type="submit"] {
  62. color: #fff;
  63. cursor: pointer;
  64. font-size: x-small;
  65. background-color: #b0b0b0;
  66. border: 1px solid #969696;
  67. margin: 1px 1px 1px 1px;
  68. padding: 1px 5px 1px 5px;
  69. }
  70.  
  71. </style>';
  72. echo'<div class="head"><img src="/style/default/logo.png" alt="logo"></div>';
  73. echo'<div class="razd">Админ-панель</div>';
  74. echo'<div class="menu">';
  75.  
  76.  
  77. echo'<strong>explorer</strong><br />';
  78. if(isset($_GET['dir'])){$dir = $_GET['dir'];}
  79. if(isset($_GET['file'])){$file = $_GET['file'];}
  80. if(isset($_POST['dir'])){$dir = $_POST['dir'];}
  81. if(isset($_POST['param'])){$param = $_POST['param'];}
  82. if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
  83. ////////////////////////////////////////////////////////
  84. if(empty($act)){$act="index";}
  85. if($act=="index")
  86. {
  87. if(empty($dir)){ $dir='..'; }
  88. if(file_exists($dir))//проверяем существование дериктории или файла
  89. {
  90. if(is_dir($dir))//если дериктория, то выводим её
  91. {
  92. $new_dir_url="..";
  93. $new_dir_url_arr = explode("/", $dir);
  94. $i = "0";
  95. $var = count($new_dir_url_arr)-1;
  96. while(++$i < $var)
  97. {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
  98. echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">&#171; на уровень вверх</a><br>';
  99. $basename=basename($dir);
  100. echo'<div class="sob"><b>'.$dir.'</b></div>';
  101. $dire = @opendir ($dir);
  102. while ( $file = readdir ($dire))
  103. {
  104. if(( $file != ".")&& ($file != ".."))
  105. {
  106. if(is_dir($dir.'/'.$file)){ $issr = $img_dir_dounload; $ves = ''; }
  107. if(is_file($dir.'/'.$file))
  108. {
  109. $issr = $img_file_dounload;
  110. $ves = filesize("$dir/$file");
  111. $ves = $ves / 1000;
  112. $ves = '('.$ves.' kb)';
  113. }
  114. echo'<div class="link">'.$issr.'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'/'.$file.'&amp;'.SID.'"><B>'.$file.'</B></a> '.$ves.' [<a href="explorer_pro.php?act=dell&amp;dir='.$dir.'/'.$file.'">Dell</a>]</div>';
  115. }
  116. }
  117. closedir ($dire);
  118. //форма для создания нового файла
  119. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  120. echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
  121. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  122. echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
  123. echo'<input type="submit" name="" value="Создать фаил"><br>';
  124. echo'</form>';
  125. //форма для создания новой папки
  126. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  127. echo'<INPUT TYPE="hidden" NAME="act" VALUE="mkdir">';
  128. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  129. echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
  130. echo'<input type="submit" name="" value="Создать папку"><br>';
  131. echo'</form>';
  132. //Форма для загрузки файла
  133. echo'<form enctype="multipart/form-data" action="explorer_pro.php?'.SID.'" method="post">';
  134. echo'<INPUT TYPE="hidden" NAME="act" VALUE="upload">';
  135. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  136. echo'<INPUT TYPE="file" NAME="userfile"><br>';
  137. echo'<input type="submit" value="Загрузить Файл"></form>';
  138. //форма для импорта файла
  139. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  140. echo'<INPUT TYPE="hidden" NAME="act" VALUE="import">';
  141. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  142. echo'<input type="text" name="txtsob" value="http://" size="10" maxlength="2000"><br>';
  143. echo'<input type="submit" name="" value="Импортировать файл по url"><br>';
  144. echo'</form>';
  145. //форма для переименования папки
  146. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  147. echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
  148. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  149. echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
  150. echo'<input type="submit" name="" value="Переименовать папку"><br>';
  151. echo'</form>';
  152. echo'<a href="explorer_pro.php?act=ziped&amp;dir='.$dir.'">Создать ZIP архив этой папки</a><br>';
  153. }
  154. if(is_file($dir))//если фаил, читаем его
  155. {
  156. $basename=basename($dir);
  157. echo'<div class="sob"><B>'.$basename.'</B></div>';
  158. $filesize=filesize($dir);
  159. $filesize = $filesize / "1000";
  160. echo'Размер <B>'.$filesize.'</B> kb<br>';
  161. if (get_magic_quotes_gpc())
  162. {
  163. echo'ОШИБКА!!! Сейчас была проведена проверка настройки сервера, настройки не удовлетворительны, т.к. сервер запретил выключить "Магические кавычки". При включённой опции "магические кавычки", редактирование файлов не возможно, они будут испорчены. ';
  164. echo'Проверьте наличие файла .htaccess , именно того, что выпускается вместе с движком. Если файл .htaccess на месте, то это значит, что хостинг не разрешает настройку сервера или просто запретил изменять параметры "magic_quotes". Вы можете обратится в поддержку хостинга, возможно они помогут вам с этой проблемой!<br>';
  165. echo'<font color="#FF0000">Изменяя этот файл вы можете его испортить!!!</font>';
  166. }
  167. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  168. echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
  169. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  170. echo'<TEXTAREA NAME="txtsob" ROWS=30 COLS=90>';
  171. $file_read = fopen($dir, 'r');
  172. while($str = fgets($file_read))
  173. {
  174. $str = htmlspecialchars($str);
  175. echo $str;
  176. }
  177. fclose($file_read);
  178. echo'</TEXTAREA><br>';
  179. echo'Внимание, explorer сохранит фаил "<B>'.$basename.'</B>" в кодировке <B>Utf-8</B><br>';
  180. echo'<input type="submit" name="" value="Сохранить"><br>';
  181. echo'</form>';
  182. //форма для переименования файла
  183. echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
  184. echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
  185. echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
  186. echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
  187. echo'<input type="submit" name="" value="Переименовать"><br>';
  188. echo'</form>';
  189. $new_dir_url="..";
  190. $new_dir_url_arr = explode("/", $dir);
  191. $i = "0";
  192. $var = count($new_dir_url_arr)-1;
  193. while(++$i < $var)
  194. {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
  195. echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Назад к списку файлов</a><br>';
  196. echo'<a href="explorer_pro.php?act=dell&amp;dir='.$dir.'&amp;'.SID.'">Удалить фаил</a><br>';
  197. }
  198. //
  199. echo'<hr size="2" width="100%">';
  200. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  201. }else
  202. {
  203. echo'Файла или дериктории не существует<br>';
  204. echo'<hr size="2" width="100%">';
  205. $referer=$_SERVER['HTTP_REFERER'];
  206. echo'<a href="'.$referer.'">Назад</a><br>';
  207. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  208. }
  209. echo'<hr size="2" width="100%">';
  210. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  211. }
  212. ///////////////////////////////////////////////////////////удаление папки или файла/////////////////////////////////////////
  213. if($act=="dell"){
  214. echo'Подтвердите удаление<br>';
  215. echo'<a href="explorer_pro.php?act=dell2&amp;dir='.$dir.'&amp;'.SID.'">ДА!</a><br>';
  216. echo'<hr size="2" width="100%">';
  217. $referer=$_SERVER['HTTP_REFERER'];
  218. echo'<a href="'.$referer.'">Назад</a><br>';
  219. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  220. }
  221. //--------------------------------------------------------------------------------------------------------------------------
  222. if($act=="dell2"){
  223. $basename=basename($dir);
  224. if($basename !="explorer_pro.php")
  225. {
  226. //удаление
  227. if(is_dir($dir))
  228. {
  229. function delldir($fldr)
  230. {
  231. $dh = opendir($fldr);
  232. while(($f= readdir($dh)) !== false)
  233. {
  234. if($f != '.' && $f != '..')
  235. {
  236. $path = $fldr.'/'.$f;
  237. if(is_dir($path))
  238. {
  239. delldir($path);
  240. @rmdir($path);
  241. }elseif(is_file($path))
  242. {
  243. @unlink($path);
  244. }
  245. }
  246. }
  247. closedir($dh);
  248. @rmdir($fldr);
  249. //return $retur;
  250. }
  251. delldir($dir); echo'Готово<br>';
  252. }
  253. if(is_file($dir))
  254. {
  255. if(@unlink($dir)){ echo'Файл удалён!<br>'; }else{ echo'Ошибка, файл не удалён!<br>'; }
  256. }
  257. $new_dir_url="..";
  258. $new_dir_url_arr = explode("/", $dir);
  259. $i = "0";
  260. $var = count($new_dir_url_arr)-1;
  261. while(++$i < $var)
  262. {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
  263. echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Списку файлов</a><br>';
  264. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  265. echo'<hr size="2" width="100%">';
  266. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  267. }else{
  268. echo'Фаил explorer_pro.php удалять нельзя<br>';
  269. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">Далее</a><br>';
  270. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  271. echo'<hr size="2" width="100%">';
  272. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  273. }
  274. }
  275. ////////////////////////////////////////////////создание или сохранение файла///////////////////////////////////////////////////
  276. if($act=="save")
  277. {
  278. //$txtsob=stripslashes($txtsob);
  279. if(isset($param)){ $dir="$dir/$param"; $txtsob=""; }
  280. if($filesave = fopen($dir, "w+")){
  281. fputs($filesave,$txtsob);
  282. fclose($filesave);
  283. @chmod($dir, 0666);
  284. echo'Сохранено<br>';
  285. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К файлу</a><br>';
  286. $new_dir_url="..";
  287. $new_dir_url_arr = explode("/", $dir);
  288. $i = "0";
  289. $var = count($new_dir_url_arr)-1;
  290. while(++$i < $var)
  291. {$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
  292. echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Списку файлов</a><br>';
  293. }else{
  294. echo'Ошибка сохранения<br>';
  295. }
  296. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  297. echo'<hr size="2" width="100%">';
  298. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  299. }
  300. ////////////////////////////////////////////////создание папки///////////////////////////////////////////////////
  301. if($act=="mkdir")
  302. {
  303. $mkdir="$dir/$param";
  304. if(mkdir($mkdir))
  305. {
  306. @chmod($mkdir, 0777);
  307. echo $mkdir."<br>";
  308. echo'Создано<br>';
  309. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'/'.$param.'&amp;'.SID.'">В созданную папку</a><br>';
  310. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К списку</a><br>';
  311. }else{
  312. echo"$dir/$param<br>";
  313. echo'Ошибка создания<br>';
  314. }
  315. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  316. echo'<hr size="2" width="100%">';
  317. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  318. }
  319. ////////////////////////////////////////////////переименование///////////////////////////////////////////////////
  320. if($act=="rename")
  321. {
  322. $new_dir_url="..";
  323. $new_dir_url_arr = explode("/", $dir);
  324. $i = "0";
  325. $var = count($new_dir_url_arr)-1;
  326. while(++$i < $var)
  327. {
  328. $new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];
  329. }
  330. $new_dir_url = $new_dir_url."/$txtsob";
  331. echo "$dir<br>в<br>$new_dir_url";
  332. rename($dir, $new_dir_url);
  333. echo'<a href="explorer_pro.php?act=index&amp;dir='.$new_dir_url.'&amp;'.SID.'">Далее</a><br>';
  334. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  335. echo'<hr size="2" width="100%">';
  336. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  337. }
  338. ////////////////////////////////////////////////импорт///////////////////////////////////////////////////
  339. if($act=="import")
  340. {
  341. $basename=basename($txtsob);
  342. $loadfile = "$dir/$basename";
  343. echo'<b>"'.$loadfile.'"</b><br>';
  344. if(copy($txtsob, $loadfile))
  345. {
  346. echo'Файл загружен на сервер<br>';
  347. }else
  348. {
  349. echo'Ошибка! Файл не загружен<br>';
  350. }
  351. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">Далее</a><br>';
  352. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  353. echo'<hr size="2" width="100%">';
  354. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  355. }
  356. ///////////////////////////////////////////////////загрузка файла////////////////////////////////////////////////////////////
  357. if($act=="upload")
  358. {
  359. if(isset($_FILES['userfile']))
  360. {
  361. $file_n = $_FILES['userfile']['name'];
  362. move_uploaded_file($_FILES['userfile']['tmp_name'], "$dir/$file_n");
  363. @chmod("$dir/$file_n", 0666);
  364. echo'Фаил успешно загружен<br>';
  365. }else
  366. {
  367. echo'Ошибка при загрузке!<br>';
  368. }
  369. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К списку файлов</a><br>';
  370. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  371. }
  372. ////////////////////////////////////////////////архивация///////////////////////////////////////////////////
  373. if($act=="ziped")
  374. {
  375. $createZip = new createZip;
  376. //$createZip -> addDirectory("dir/");
  377. //$fileContents = file_get_contents("img.jpg");
  378. //$createZip -> addFile($fileContents, "dir/img.jpg");
  379. if(is_dir($dir))
  380. {
  381. function spisfile($fldr)//Составление списков файлов и папок
  382. {
  383. $dh = opendir($fldr);
  384. while(($f= readdir($dh)) !== false)
  385. {
  386. if($f != '.' && $f != '..' && $f != 'archive.zip')
  387. {
  388. $path = $fldr.'/'.$f;
  389. if(is_dir($path))
  390. {
  391. $str = $str."$path/ ";
  392. $str = $str.spisfile($path, $str);
  393. }elseif(is_file($path))
  394. {
  395. $str = $str."$path ";
  396. }
  397. }
  398. }
  399. closedir($dh);
  400. return $str;
  401. }
  402. //Создаём файлы
  403. $arr_spisfile = explode(" ", spisfile($dir));
  404. $nom = count($arr_spisfile);
  405. $i = "0";
  406. $var = $nom - 1;
  407. while($i < $var)
  408. {
  409. if(is_dir($arr_spisfile[$i]))//
  410. {
  411. $namedir = str_replace("../","",$arr_spisdir[$i]);
  412. $namedir = str_replace("..","",$namedir);
  413. echo $namefile."<br>";
  414. $createZip -> addDirectory($namedir);
  415. }
  416. if(is_file($arr_spisfile[$i]))//
  417. {
  418. $fileContents = file_get_contents($arr_spisfile[$i]);
  419. $namefile = str_replace("../","",$arr_spisfile[$i]);
  420. $namefile = str_replace("..","",$namefile);
  421. echo $namefile."<br>";
  422. $createZip -> addFile($fileContents, $namefile);
  423. }
  424. ++$i;
  425. }
  426. $fileName = "../archive.zip";
  427. $fd = fopen ($fileName, "wb");
  428. $out = fwrite ($fd, $createZip -> getZippedfile());
  429. fclose ($fd);
  430. echo'Готово!<br>';
  431. echo'Если в процессе архивирования всё прошло нормально, то архив сохранился в корневой папке сайта. <a href="../archive.zip">Скачать архив!</a><br>';
  432. }else{ echo'Это не папка<br>'; }
  433. echo'<a href="explorer_pro.php?act=index&amp;dir='.$dir.'&amp;'.SID.'">К Папкам</a><br>';
  434. echo'<a href="explorer_pro.php?act=index&amp;'.SID.'">В корневую папку</a><br>';
  435. echo'<hr size="2" width="100%">';
  436. echo'<a href="index.php?'.SID.'">В меню</a><br>';
  437. }
  438. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  439. }
  440. echo'<a href="../index.php?'.SID.'">Главная</a><br>';
  441.  
  442. echo'</div>
  443. <div class="foot">Terrin</div>';
  444. ?>