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

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