<?php
//автор - figura
//сайт - http://f-pt.ru
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include_once("../sistem/libzip.dat");//Баблиотека для zip архивов
include("../temes/$teme/verh.dat");
if($status=="admin")
{
echo'<div class="razd">explorer</div>';
if(isset($_GET['dir'])){$dir = $_GET['dir'];}
if(isset($_GET['file'])){$file = $_GET['file'];}
if(isset($_POST['dir'])){$dir = $_POST['dir'];}
if(isset($_POST['param'])){$param = $_POST['param'];}
if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
////////////////////////////////////////////////////////
if(empty($act)){$act="index";}
if($act=="index")
{
if(empty($dir)){ $dir='..'; }
if(file_exists($dir))//проверяем существование дериктории или файла
{
if(is_dir($dir))//если дериктория, то выводим её
{
$new_dir_url="..";
$new_dir_url_arr = explode("/", $dir);
$i = "0";
$var = count($new_dir_url_arr)-1;
while(++$i < $var)
{$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
echo'<a href="explorer_pro.php?act=index&dir='.$new_dir_url.'&'.SID.'">« на уровень вверх</a><br>';
$basename=basename($dir);
echo'<div class="sob"><b>'.$dir.'</b></div>';
$dire = @opendir ($dir);
while ( $file = readdir ($dire))
{
if(( $file != ".")&& ($file != ".."))
{
if(is_dir($dir.'/'.$file)){ $issr = $img_dir_dounload; $ves = ''; }
if(is_file($dir.'/'.$file))
{
$issr = $img_file_dounload;
$ves = filesize("$dir/$file");
$ves = $ves / 1000;
$ves = '('.$ves.' kb)';
}
echo'<div class="link">'.$issr.'<a href="explorer_pro.php?act=index&dir='.$dir.'/'.$file.'&'.SID.'"><B>'.$file.'</B></a> '.$ves.' [<a href="explorer_pro.php?act=dell&dir='.$dir.'/'.$file.'">Dell</a>]</div>';
}
}
closedir ($dire);
//форма для создания нового файла
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
echo'<input type="submit" name="" value="Создать фаил"><br>';
echo'</form>';
//форма для создания новой папки
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="mkdir">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<input type="text" name="param" value="" size="10" maxlength="30"><br>';
echo'<input type="submit" name="" value="Создать папку"><br>';
echo'</form>';
//Форма для загрузки файла
echo'<form enctype="multipart/form-data" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="upload">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<INPUT TYPE="file" NAME="userfile"><br>';
echo'<input type="submit" value="Загрузить Файл"></form>';
//форма для импорта файла
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="import">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<input type="text" name="txtsob" value="http://" size="10" maxlength="2000"><br>';
echo'<input type="submit" name="" value="Импортировать файл по url"><br>';
echo'</form>';
//форма для переименования папки
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
echo'<input type="submit" name="" value="Переименовать папку"><br>';
echo'</form>';
echo'<a href="explorer_pro.php?act=ziped&dir='.$dir.'">Создать ZIP архив этой папки</a><br>';
}
if(is_file($dir))//если фаил, читаем его
{
$basename=basename($dir);
echo'<div class="sob"><B>'.$basename.'</B></div>';
$filesize=filesize($dir);
$filesize = $filesize / "1000";
echo'Размер <B>'.$filesize.'</B> kb<br>';
if (get_magic_quotes_gpc())
{
echo'ОШИБКА!!! Сейчас была проведена проверка настройки сервера, настройки не удовлетворительны, т.к. сервет запретил выключить "Магические кавычки". При включённой опции "магические кавычки", редактирование файлов не возможно, они будут испорчены. ';
echo'Проверьте наличие файла .htaccess , именно того, что выпускается вместе с движком. Если файл .htaccess на месте, то это значит, что хостинг не разрешает настройку сервера или просто запретил изменять параметры "magic_quotes". Вы можете обратится в поддержку хостинга, возможно они помогут вам с этой проблемой!<br>';
echo'<font color="#FF0000">Изменяя этот файл вы можете его испортить!!!</font>';
}
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="save">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<TEXTAREA NAME="txtsob" ROWS=30 COLS=90>';
$file_read = fopen($dir, 'r');
while($str = fgets($file_read))
{
$str = htmlspecialchars($str);
echo $str;
}
fclose($file_read);
echo'</TEXTAREA><br>';
echo'Внимание, explorer сохранит фаил "<B>'.$basename.'</B>" в кодировке <B>Utf-8</B><br>';
echo'<input type="submit" name="" value="Сохранить"><br>';
echo'</form>';
//форма для переименования файла
echo'<form name="forma" action="explorer_pro.php?'.SID.'" method="post">';
echo'<INPUT TYPE="hidden" NAME="act" VALUE="rename">';
echo'<INPUT TYPE="hidden" NAME="dir" VALUE="'.$dir.'">';
echo'<input type="text" name="txtsob" value="'.$basename.'" size="10" maxlength="30"><br>';
echo'<input type="submit" name="" value="Переименовать"><br>';
echo'</form>';
$new_dir_url="..";
$new_dir_url_arr = explode("/", $dir);
$i = "0";
$var = count($new_dir_url_arr)-1;
while(++$i < $var)
{$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
echo'<a href="explorer_pro.php?act=index&dir='.$new_dir_url.'&'.SID.'">Назад к списку файлов</a><br>';
echo'<a href="explorer_pro.php?act=dell&dir='.$dir.'&'.SID.'">Удалить фаил</a><br>';
}
//
echo'<hr size="2" width="100%">';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
}else
{
echo'Файла или дериктории не существует<br>';
echo'<hr size="2" width="100%">';
$referer=$_SERVER['HTTP_REFERER'];
echo'<a href="'.$referer.'">Назад</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
}
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
///////////////////////////////////////////////////////////удаление папки или файла/////////////////////////////////////////
if($act=="dell"){
echo'Подтвердите удаление<br>';
echo'<a href="explorer_pro.php?act=dell2&dir='.$dir.'&'.SID.'">ДА!</a><br>';
echo'<hr size="2" width="100%">';
$referer=$_SERVER['HTTP_REFERER'];
echo'<a href="'.$referer.'">Назад</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
}
//--------------------------------------------------------------------------------------------------------------------------
if($act=="dell2"){
$basename=basename($dir);
if($basename !="explorer_pro.php")
{
//удаление
if(is_dir($dir))
{
function delldir($fldr)
{
$dh = opendir($fldr);
while(($f= readdir($dh)) !== false)
{
if($f != '.' && $f != '..')
{
$path = $fldr.'/'.$f;
if(is_dir($path))
{
delldir($path);
@rmdir($path);
}elseif(is_file($path))
{
@unlink($path);
}
}
}
closedir($dh);
@rmdir($fldr);
//return $retur;
}
delldir($dir); echo'Готово<br>';
}
if(is_file($dir))
{
if(@unlink($dir)){ echo'Файл удалён!<br>'; }else{ echo'Ошибка, файл не удалён!<br>'; }
}
$new_dir_url="..";
$new_dir_url_arr = explode("/", $dir);
$i = "0";
$var = count($new_dir_url_arr)-1;
while(++$i < $var)
{$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
echo'<a href="explorer_pro.php?act=index&dir='.$new_dir_url.'&'.SID.'">Списку файлов</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}else{
echo'Фаил explorer_pro.php удалять нельзя<br>';
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">Далее</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
}
////////////////////////////////////////////////создание или сохранение файла///////////////////////////////////////////////////
if($act=="save")
{
//$txtsob=stripslashes($txtsob);
if(isset($param)){ $dir="$dir/$param"; $txtsob=""; }
if($filesave = fopen($dir, "w+")){
fputs($filesave,$txtsob);
fclose($filesave);
@chmod($dir, 0666);
echo'Сохранено<br>';
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">К файлу</a><br>';
$new_dir_url="..";
$new_dir_url_arr = explode("/", $dir);
$i = "0";
$var = count($new_dir_url_arr)-1;
while(++$i < $var)
{$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];}
echo'<a href="explorer_pro.php?act=index&dir='.$new_dir_url.'&'.SID.'">Списку файлов</a><br>';
}else{
echo'Ошибка сохранения<br>';
}
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
////////////////////////////////////////////////создание папки///////////////////////////////////////////////////
if($act=="mkdir")
{
$mkdir="$dir/$param";
if(mkdir($mkdir))
{
@chmod($mkdir, 0777);
echo $mkdir."<br>";
echo'Создано<br>';
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'/'.$param.'&'.SID.'">В созданную папку</a><br>';
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">К списку</a><br>';
}else{
echo"$dir/$param<br>";
echo'Ошибка создания<br>';
}
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
////////////////////////////////////////////////переименование///////////////////////////////////////////////////
if($act=="rename")
{
$new_dir_url="..";
$new_dir_url_arr = explode("/", $dir);
$i = "0";
$var = count($new_dir_url_arr)-1;
while(++$i < $var)
{
$new_dir_url = $new_dir_url."/".$new_dir_url_arr[$i];
}
$new_dir_url = $new_dir_url."/$txtsob";
echo "$dir<br>в<br>$new_dir_url";
rename($dir, $new_dir_url);
echo'<a href="explorer_pro.php?act=index&dir='.$new_dir_url.'&'.SID.'">Далее</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
////////////////////////////////////////////////импорт///////////////////////////////////////////////////
if($act=="import")
{
$basename=basename($txtsob);
$loadfile = "$dir/$basename";
echo'<b>"'.$loadfile.'"</b><br>';
if(copy($txtsob, $loadfile))
{
echo'Файл загружен на сервер<br>';
}else
{
echo'Ошибка! Файл не загружен<br>';
}
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">Далее</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
///////////////////////////////////////////////////загрузка файла////////////////////////////////////////////////////////////
if($act=="upload")
{
if(isset($_FILES['userfile']))
{
$file_n = $_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfile']['tmp_name'], "$dir/$file_n");
@chmod("$dir/$file_n", 0666);
echo'Фаил успешно загружен<br>';
}else
{
echo'Ошибка при загрузке!<br>';
}
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">К списку файлов</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
}
////////////////////////////////////////////////архивация///////////////////////////////////////////////////
if($act=="ziped")
{
$createZip = new createZip;
//$createZip -> addDirectory("dir/");
//$fileContents = file_get_contents("img.jpg");
//$createZip -> addFile($fileContents, "dir/img.jpg");
if(is_dir($dir))
{
function spisfile($fldr)//Составление списков файлов и папок
{
$dh = opendir($fldr);
while(($f= readdir($dh)) !== false)
{
if($f != '.' && $f != '..' && $f != 'archive.zip')
{
$path = $fldr.'/'.$f;
if(is_dir($path))
{
$str = $str."$path/ ";
$str = $str.spisfile($path, $str);
}elseif(is_file($path))
{
$str = $str."$path ";
}
}
}
closedir($dh);
return $str;
}
//Создаём файлы
$arr_spisfile = explode(" ", spisfile($dir));
$nom = count($arr_spisfile);
$i = "0";
$var = $nom - 1;
while($i < $var)
{
if(is_dir($arr_spisfile[$i]))//
{
$namedir = str_replace("../","",$arr_spisdir[$i]);
$namedir = str_replace("..","",$namedir);
echo $namefile."<br>";
$createZip -> addDirectory($namedir);
}
if(is_file($arr_spisfile[$i]))//
{
$fileContents = file_get_contents($arr_spisfile[$i]);
$namefile = str_replace("../","",$arr_spisfile[$i]);
$namefile = str_replace("..","",$namefile);
echo $namefile."<br>";
$createZip -> addFile($fileContents, $namefile);
}
++$i;
}
$fileName = "../archive.zip";
$fd = fopen ($fileName, "wb");
$out = fwrite ($fd, $createZip -> getZippedfile());
fclose ($fd);
echo'Готово!<br>';
echo'Если в процессе архивирования всё прошло нормально, то архив сохранился в корневой папке сайта. <a href="../archive.zip">Скачать архив!</a><br>';
}else{ echo'Это не папка<br>'; }
echo'<a href="explorer_pro.php?act=index&dir='.$dir.'&'.SID.'">К Папкам</a><br>';
echo'<a href="explorer_pro.php?act=index&'.SID.'">В корневую папку</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">В меню</a><br>';
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}else{
//session_destroy();
echo'<div class="razd">Вам сюда нельзя</div>';
echo'Нужны права администратора';
echo'<hr size="2" width="100%">';
echo'<a href="index.php?'.SID.'">Назад</a><br>';
}
echo'<a href="../index.php?'.SID.'">Главная</a><br>';
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>