View file foto.php

File size: 10.4Kb
<?
Error_Reporting(E_ALL & ~E_NOTICE);
header("Content-type: text/html; charset=utf-8");
header("Cache-Control: no-cache");

include'ini.php';

$MAX_FILE_SIZE = 600*1024;			  // максимальный размер закачиваемого файла



// допустимые mime типы для закачки

$load_type = array(
"1" => "image/png",
"2" => "image/gif",
"3" => "image/jpeg",
"4" => "image/jpeg",
"5" => "image/bmp"
);


$MAX_i = 5;



// расширение загружаемого файла

$load_ext = array(
"1" => "png",
"2" => "gif",
"3" => "jpeg",
"4" => "jpg",
"5" => "bmp"
);


// Текущиее расширение (у загружённого файла)

$file_ext = "";


// если true то закаченный файл имеет поддерживаемый mime тип

$mime_ok = false;


// если true то закаченный файл имеет поддерживаемОе расширение

$ext_ok = false;


// текст при ошибке

$error = "<br><b><font color=red>Ошибка!</font></b><br>";

// текст предупреждения

$warning = "<b><font color=red>Внимание!</font></b>";



// имя файла, т.к. переименовывается

$new_fname = "";

// постфикс при переименовании

$f_postfix = "_";



// текущая дата

$data_small = date("j.m");

$data = date("j.m.y (H:i)");

function trans($string)

	{


  $array = explode(" ",$string) ;

  foreach ($array as $VAL)

		{

		$VAL = str_replace("а","a",$VAL); // строчные

		$VAL = str_replace("б","b",$VAL);

		$VAL = str_replace("в","v",$VAL);

		$VAL = str_replace("г","g",$VAL);

		$VAL = str_replace("д","d",$VAL);

		$VAL = str_replace("е","e",$VAL);

		$VAL = str_replace("ё","yo",$VAL);

		$VAL = str_replace("ж","zh",$VAL);

		$VAL = str_replace("з","z",$VAL);

		$VAL = str_replace("и","i",$VAL);

		$VAL = str_replace("й","j",$VAL);

		$VAL = str_replace("к","k",$VAL);

		$VAL = str_replace("л","l",$VAL);

		$VAL = str_replace("м","m",$VAL);

		$VAL = str_replace("н","n",$VAL);

		$VAL = str_replace("о","o",$VAL);

		$VAL = str_replace("п","p",$VAL);

		$VAL = str_replace("р","r",$VAL);

		$VAL = str_replace("с","c",$VAL);

		$VAL = str_replace("т","t",$VAL);

		$VAL = str_replace("у","u",$VAL);

		$VAL = str_replace("ф","f",$VAL);

		$VAL = str_replace("х","h",$VAL);

		$VAL = str_replace("ц","c",$VAL);

		$VAL = str_replace("ч","ch",$VAL);

		$VAL = str_replace("ш","sh",$VAL);

		$VAL = str_replace("щ","sch",$VAL);

		$VAL = str_replace("ь","",$VAL);	// т.к. ' нельзя в wml

		$VAL = str_replace("ы","y",$VAL);

		$VAL = str_replace("ъ","",$VAL);	// т.к. ' нельзя в wml

		$VAL = str_replace("э","e",$VAL);

		$VAL = str_replace("ю","yu",$VAL);

		$VAL = str_replace("я","ya",$VAL);



		$VAL = str_replace("А","A",$VAL); // заглавные

		$VAL = str_replace("Б","B",$VAL);

		$VAL = str_replace("В","V",$VAL);

		$VAL = str_replace("Г","G",$VAL);

		$VAL = str_replace("Д","D",$VAL);

		$VAL = str_replace("Е","E",$VAL);

		$VAL = str_replace("Ё","YO",$VAL);

		$VAL = str_replace("Ж","ZH",$VAL);

		$VAL = str_replace("З","Z",$VAL);

		$VAL = str_replace("И","I",$VAL);

		$VAL = str_replace("Й","J",$VAL);

		$VAL = str_replace("К","K",$VAL);

		$VAL = str_replace("Л","L",$VAL);

		$VAL = str_replace("М","M",$VAL);

		$VAL = str_replace("Н","N",$VAL);

		$VAL = str_replace("О","O",$VAL);

		$VAL = str_replace("П","P",$VAL);

		$VAL = str_replace("Р","R",$VAL);

		$VAL = str_replace("С","C",$VAL);

		$VAL = str_replace("Т","T",$VAL);

		$VAL = str_replace("У","U",$VAL);

		$VAL = str_replace("Ф","F",$VAL);

		$VAL = str_replace("Х","H",$VAL);

		$VAL = str_replace("Ц","C",$VAL);

		$VAL = str_replace("Ч","CH",$VAL);

		$VAL = str_replace("Ш","SH",$VAL);

		$VAL = str_replace("Щ","SCH",$VAL);

		$VAL = str_replace("Ь","",$VAL);	// т.к. ' нельзя в wml

		$VAL = str_replace("Ы","Y",$VAL);

		$VAL = str_replace("Ъ","",$VAL);	// т.к. ' нельзя в wml

		$VAL = str_replace("Э","E",$VAL);

		$VAL = str_replace("Ю","YU",$VAL);

		$VAL = str_replace("Я","YA",$VAL);

		//$VAL = str_replace("©","&#169;",$VAL);

		//$VAL = str_replace("$","",$VAL);

		//$VAL = str_replace("~","",$VAL);

		//$VAL = str_replace("&","&amp;",$VAL);

		//$VAL = str_replace("$","",$VAL);



		$send_VAR .= $VAL." ";



		}

		$send_VAR=substr($send_VAR, 0, -1);  

		return $send_VAR;

				

	} 


echo "<HTML><HEAD>".


		 "<TITLE>Фотки</TITLE>".

		 "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">".

		 "<meta http-equiv=\"pragma\" content=\"no-cache\">".

		 "</HEAD><BODY TEXT=\"white\" BGCOLOR=\"black\"><BODY>";



echo "<h3 align=\"center\">EuroWaP_Chat_Фотки</h3>";



if(empty($_FILES['UserFile']['tmp_name'])) {
$mfs=round($MAX_FILE_SIZE/1024);
print '<b>Здесь Вы можете закачать свою фотку для чатовского ника, поддерживаемые форматы: png,jpg,gif,bmp, максимальный размер файла '.$mfs.'kb. Если у вас уже была закачана фотка ранее, то существующая фотка будет удалена!</b><br/>';
	

	echo"<form action=\"$SCRIPT_NAME\" method=post enctype=multipart/form-data>".

	"Выберите файл: <input type=file name=UserFile><br><br/>".

	"Ваше имя в чате: <input name=\"login\" type=\"text\"><br><br/>".

	"Ваш пароль в чате: <input name=\"p\" type=\"text\"><br><br/>".

	"<input class=submit type=submit value=Закачать!>".



	"<br><hr><br>".



	"</form>";

	echo "<p align=\"center\"><small><b>Mail2 <a href=\"adm@chatko.ru\">Administrator</a></b>";


}

//include"includes/utf.php";

if(is_uploaded_file($_FILES['UserFile']['tmp_name']))
{
$login=addslashes(htmlspecialchars($login));
list($id,$pass)=mysql_fetch_array(mysql_query("select id,pass from users where login='".$login."';"));

if($pass!=$p)die("Неверный пароль!");


	echo "Сервер - OK<br>";

	

	// проверка на максимальный размер

	if ($_FILES['UserFile']['size'] <= $MAX_FILE_SIZE) {

		echo "Размер файла ".$_FILES['UserFile']['size']." <= ".$MAX_FILE_SIZE." - OK<br>";

		

		// проверка имени файла и автоматическое переименование если существует а также удаление лишних символов и русских букв

		$new_fname = $_FILES['UserFile']['name'];

		// bad symbols

		$new_fname = str_replace("$","",$new_fname);

		$new_fname = str_replace("&","And",$new_fname);

		$new_fname = str_replace("%20","_",$new_fname);

		$new_fname = str_replace(" ","_",$new_fname);

		$new_fname = str_replace(";","",$new_fname);

		$new_fname = str_replace("%","",$new_fname);

		$new_fname = str_replace("@","",$new_fname);

		$new_fname = str_replace("^","",$new_fname);

		$new_fname = str_replace("'","",$new_fname);

		$new_fname = str_replace("~","",$new_fname);

		$new_fname = str_replace("`","",$new_fname);

		$new_fname = trans($new_fname);	// translate

		if(file_exists('foto/'.$new_fname)) {


			$new_fname_pred = $new_fname;

			$i = 0;

			$path_parts = pathinfo($new_fname);

			// удаляем расширение файла

			$new_fname = eregi_replace(".".$path_parts["extension"], "", $new_fname);

			// формируем новое имя файла (с постфиксом)

			$new_fname = $new_fname.$f_postfix.$i.".".$path_parts["extension"];

			while (file_exists('foto/'.$new_fname)){

				$path_parts = pathinfo($new_fname);

				// удаляем расширение файла

				$new_fname = eregi_replace($f_postfix.$i.".".$path_parts["extension"], "", $new_fname);

				$i++;

				// формируем новое имя файла (с постфиксом)

				$new_fname = $new_fname.$f_postfix.$i.".".$path_parts["extension"];

			}

			echo $warning." Файл переименован в \"".$new_fname."\", т.к. файл с именем \"".$new_fname_pred."\" уже существует! - OK<br>";

		} // end проверка



		

		// Проверяем верно ли расширение

		$path_parts = pathinfo($new_fname);

		for ($i = 1; $i <= $MAX_i; $i++) {

			if (strtolower($path_parts["extension"]) == $load_ext[$i]) {

				$ext_ok = true;

			}

		}





		//расширение совпадает

		if ($ext_ok == true) { 

			echo "Mime тип ".$_FILES['UserFile']['type']." - OK<br>";

			

			// проверим подходит ли для этого mime типа расширение

			//if (eregi($file_ext, $new_fname)) {

				echo "Расширение файла ".$file_ext." - OK<br>";



				//если всё ок - то перемещаем загруженный файл к себе///////////////

				if (move_uploaded_file($_FILES['UserFile']['tmp_name'], 'foto/'.$new_fname)) {

				list($old_foto)=mysql_fetch_array(mysql_query("select foto from users where id='".$id."';"));
				@unlink($old_foto);
				mysql_query("update users set foto='foto/".$new_fname."' where id='".$id."';");
					//меняем права доступа к файлу

					chmod('foto/'.$new_fname, 0644);  // octal; correct value of mode

					

					echo "<p align=\"center\"><font color=red>Файл загружен успешно под именем <b>".$new_fname."</b></font>.<br>".

						 "<br>".

						 "<a href=&#63;>Загрузить другую фотку!</a><br>";

						 


				} else echo "<b>Ошибка загрузки файла!</b><br>"; //////////////////////////

		
		}else echo $error."Файл \"".$new_fname."\" имеет неподдерживаемый тип !<br>";

	} else echo $error."Размер загружаемого файла \"".$_FILES['UserFile']['name']."\" больше ".round($MAX_FILE_SIZE/1024,2)." кб !";



// end html file

echo "<hr><p align=\"center\">".

	 "<a href=&#63;>На страницу загрузки</a>".

	 "</BODY>".

	 "</HTML>";

}





?>