Просмотр файла upload.php

Размер файла: 12.16Kb
<?PHP
include "tools.php";
include "head.php";
if (!empty($_GET['dir']))
{
	$_SESSION['dir']=$_GET['dir'];
}
$directior="".$_SESSION['dir']."/";

if (!empty($_GET['basename']))
{
	$_SESSION['basename']=$_GET['basename'];
}
$basenm="".$_SESSION['basename']."/";

$namescript1=mysql_fetch_array(mysql_query("select * from `zcentry` where `basename`='".$_SESSION['basename']."';"));
$namescript=$namescript1['name'];
echo "<div class='contur_rek'>
<div class='header_rek'><span style='color:#c00000;'><p align='center'><big><b>".$namescript."</b></big></p></span></div></div>";
	$papka = opendir ("".$directior."");


function full_del_dir ($directory)
{
$dir = opendir($directory);
while(($file = readdir($dir)))
{
if ( is_file ($directory."/".$file))
{
unlink ($directory."/".$file);
}
else if ( is_dir ($directory."/".$file) &&
($file != ".") && ($file != ".."))
{
full_del_dir ($directory."/".$file); 
}
}
closedir ($dir);
rmdir ($directory);
}

function win_to_tr($str)
{
$str=strtr($str,array(" "=>"__","а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"zh","з"=>"z","и"=>"i","й"=>"j","к"=>"k","л"=>"l","м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h","ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"q","ы"=>"x","ь"=>"%","э"=>"ye","ю"=>"yu","я"=>"ya",
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E","Ё"=>"YO","Ж"=>"ZH","З"=>"Z","И"=>"I","Й"=>"J","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SCH","Ъ"=>"Q","Ы"=>"X","Э"=>"YE","Ю"=>"YU","Я"=>"YA"));
 return $str;
}
$called = 1;

$qw = mysql_fetch_array(mysql_query("SELECT * FROM `administration`where `iduser`='".$_SESSION['iduser']."'"));
if (mysql_affected_rows()=="1")
{$r="ok";}
if ($qw['type']=="999" and $r=="ok")
{


if ($_GET['act']=="makedir")
{
	echo "<div>Название категории:(только англ. символы - ТРАНСЛИТ)<form action='?act=makeok' method='post'>
	<input type='text' name='mdir'/><br/>
	<input type='submit' value='Создать'/></form><br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>";
}


if ($_GET['act']=="makeok")
{$mdir=$_POST['mdir'];
	if(preg_match("/[^\da-zA-Z-@#!_]+/",$mdir)) $error='В названии есть запрещающие знаки!<br/>';
	if (empty($error))
	{ if (!empty($mdir))
		{
		$addres="".$directior."".$mdir."";
	mkdir($addres, 0777);
    chmod($addres, 0777);
    $fileindex=fopen("".$directior."".$mdir."/index.php", "w+");
    fclose($fileindex);
        echo "<div>Директория ".$addres." создана!</div>";
    	} else {echo "<div>Не введено название!</div>";}
    print"<div><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>";
    } else 
    { echo "<div> $error <br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>";
    }
}
if ($_GET['act']=="del")
{
	full_del_dir ("".$directior."".$dir."");
	echo "<div>Каталог удален!<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>";
}
if ($_GET['act']=="deldir")
{echo "<div><form action='".$_SERVER["PHP_SELF"]."?act=del' method='post'>";
	echo "<select name='dir'>";
	while ($file = readdir ($papka))
    { if ($file!="index.php" && $file!=".." && $file!="." && $file!="count.php" && $file!="comm.php" && $file!="loadfile.php" && $file!="preview"  && $file!=".htaccess" && $file!="config.php")
    	{
    	echo "<option>$file</option>";
    	}
    }
    echo "</select><br/>Удалятся все файлы в каталоге!<br/><input type='submit' value='Удалить'/></form><br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>";
}


if ($_GET['act']=="rendir")
{echo "<div class='contur'>
	<div class='header'><form action='?act=rename' method='post'>";
	echo "<select name='dir'>";
	while ($file = readdir ($papka))
    { if ($file!="index.php" && $file!=".." && $file!="." && $file!="count.php" && $file!="comm.php" && $file!="loadfile.php" && $file!="preview"  && $file!=".htaccess" && $file!="config.php")
    	{
    	echo "<option>$file</option>";
    	}
    }
    echo "</select><br/>Использовать только латиницу!<br/><input type='text' name='newdirname'/><br/><input type='submit' value='Переименовать'/></form><br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div></div>";
}

if ($_GET['act']=="rename")
{
	if (!empty($_POST['newdirname']))
	{
		if (rename("".$directior."".$_POST['dir']."","".$directior."".$_POST['newdirname'].""))
		{echo "<div class='contur'>
	<div class='header'>Переименовано!<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div></div>";}
	}
}
	////////////////////////////
if (empty($_GET['act']))
{
?>
<div>
		<div class='contur'>
	<div class='header'>
<a href='?act=makedir'>Создать каталог</a><br/>
	<a href='?act=deldir'>Выбрать каталог к удалению</a><br/>
	<a href='?act=rendir'>Выбрать каталог к переименованию</a>
<div class='b'>Файл к загрузке:(Латинские символы!)</div>
<?php	echo "<form enctype='multipart/form-data' method='post' action='".$_SERVER['PHP_SELF']."?act=up'>";
	?>
	<div class='z'><input type='file' name='img1' size='30' /></div>
	<div class='z'>Скрин(превьюшка):<br/><input type='file' name='image' size="30" /></div>
	<div class='z'>Коментарий к файлу: <br/><textarea name='comment'></textarea></div>

	
		
	<?php
	
echo "Категория:[".$directior."]<br/><select name='dir'>";
	while ($file = readdir ($papka))
    { if ($file!="index.php" && $file!=".." && $file!="." && $file!="count.php" && $file!="comm.php" && $file!="loadfile.php" && $file!="preview"  && $file!=".htaccess" && $file!="config.php")
    	{
    	echo "<option>$file</option>";
    	}
    }
    echo "</select>";
		?>
	<div class='z'><input type="submit" name="submit" value="Загрузить" /></div>
	</form>
<div class='z'>
Поддерживаемые расширения:</div>
<?PHP
print "<div class='z'>";
foreach ( $ext as $exts ){
	print "$exts";
}

print "</div><div class='z'>Максимальный размер файла ". round((( $max_file_size / 1024 ) / 1024) , 2)."MB";
print "</div></div></div>";



echo "<br/><a href='./adpanel.php'>В админку</a></div>";
}

if ($_GET['act']=="up")
{
	
$_FILES['img1']['name'] = strtolower($_FILES['img1']['name']);
$_FILES['img1']['name'] = str_replace(' ', '_', $_FILES['img1']['name']);
$_FILES['img1']['name'] = str_replace('$', '_', $_FILES['img1']['name']);

$_FILES['image']['name'] = strtolower($_FILES['image']['name']);
$_FILES['image']['name'] = str_replace(' ', '_', $_FILES['image']['name']);
$_FILES['image']['name'] = str_replace('$', '_', $_FILES['image']['name']);


$file_name = $_FILES['img1']['name'];
$file_name = strrchr($file_name, ".");
$file_name_image = $_FILES['image']['name'];
$file_name_image = strrchr($file_name_image, ".");


if(!in_array($file_name,$ext))
{
	$error = "Файл не подходит. Можно загружать: ";
	foreach( $ext as $exts ){
	$error .= "$exts";
	
	}
	
	echo ("<div>$error<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}
if (!empty($file_name_image))
{
if(!in_array($file_name_image,$ext))
{
	$error = "Файл не подходит. Можно загружать: ";
	foreach( $ext as $exts ){
	$error .= "$exts";
	
	}
	
	echo ("<div>$error<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}
}

$at = "".$directior."".$dir."/".str_replace(' ','_',$_FILES['img1']['name'])."";
$at_image = "".$directior."".$dir."/".str_replace(' ','_',$_FILES['image']['name'])."";
if(file_exists($at))
{
echo ("<div>Файл с таким именем существует. Пожалуйста переименуйте и повторите снова<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}
if (!empty($file_name_image))
{
if(file_exists($at_image))
{
echo ("<div>Файл картинки с таким именем существует. Пожалуйста переименуйте и повторите снова<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}
}

$file_size = $_FILES['img1']['size'];
if($file_size > $max_file_size)
{
	echo ("<div>Файл слишком большой. Максимальный размер до 4MB)<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}
if (!empty($file_name_image))
{
if ($_FILES['image'] != "")
{
	if(copy($_FILES['image']['tmp_name'], "".$directior."preview/".str_replace(' ','_',$_FILES['image']['name'])))
	{
		echo "<div>Файл превьюшки загружен на сервер</div>";
	}
		else 
	{ echo("<div>Не возможно скопировать файл превьюшки!<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");  
	require ("foot.php");
	exit;
	}
}
}
//copy file across
if ($_FILES['img1'] != "") {
	
	if (copy($_FILES['img1']['tmp_name'], "".$directior."".$dir."/".str_replace(' ','_',$_FILES['img1']['name'])))
	{echo "<div>Файл загрузки загружен на сервер</div>";}
	else 
	{ echo("<div>Не возможно скопировать файл!<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");  
	require ("foot.php");
	exit;
	}
	
} else {
	
	echo("<div>No input file specified<br/><a href='".$_SERVER['PHP_SELF']."'>В загруз центр</a></div>");
	require ("foot.php");
	exit;
}


$file_type = $_FILES['img1']['type'];
$rfile_type = strstr($file_type, '/');
$file_type = str_replace($rfile_type, "", $file_type);
echo 		"<div class='contur'>
	<div class='header'>";
print "<div>'".$_FILES['img1']['name']."'</div>Был загружен успешно.";
if($file_type == "image")
{

print "<div>Адрес: http://".$_SERVER['SERVER_NAME']."/".$directior."".$dir."/".$_FILES['img1']['name']."</div>";

print "<div class='z'>";
print "<img src='http://".$_SERVER['SERVER_NAME']."/".$directior."".$dir."/".$_FILES['img1']['name']."'/>";
} else {
	print "<div class='z'>";
	print "Адрес файла: http://".$_SERVER['SERVER_NAME']."/".$directior."".$dir."/".$_FILES['img1']['name']."";
	print "<br/>Адрес файла картинки: http://".$_SERVER['SERVER_NAME']."/".$directior."preview/".$_FILES['image']['name']."";
	
// Для наложения используется ImageCopyMerge  
function waterMark($fileInHD, $wmFile, $transparency = 100, $jpegQuality = 90, $margin = 5) {  
$wmImg   = imageCreateFromPNG($wmFile);  
$jpegImg = imageCreateFromJPEG($fileInHD);  
// Water mark random position  
$wmX = (bool)rand(0,1) ? $margin : (imageSX($jpegImg) - imageSX($wmImg)) - $margin;  
$wmY = (bool)rand(0,1) ? $margin : (imageSY($jpegImg) - imageSY($wmImg)) - $margin;  
// Water mark process  
imageCopyMerge($jpegImg, $wmImg, 60, 6, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);  
// Overwriting image  
ImageJPEG($jpegImg, $fileInHD, $jpegQuality);  
}  
waterMark("".$directior."preview/".$_FILES['image']['name']."","water.png"); 
}
print "</div>";

print "<div>Размер: ". round(($file_size/1024), 2) ."KB</div></div></div>";
if (mysql_query("INSERT INTO `".$basenm."` ( `id` , `file` , `text` , `time` , `author` , `type` , `image` , `descr` ) VALUES (
'', '".$_FILES['img1']['name']."', '', '".time()."', '".$_SESSION['login']."', 'file', '".$_FILES['image']['name']."', '".hacker($_POST['comment'])."');"))
print "<div><a href='".$_SERVER['PHP_SELF']."'>Загрузить ещё</a></div>";
	echo "<div><a href='./adpanel.php'>В админку</a></div>";
	
}
}

require ("foot.php");
?>