$site_link = $settings['index_url']; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /)
$upload_dir = "img/obiavi/"; //Може да се смени с друга папка , която вие си пожелаете
$size_bytes = 4194304; //Големината на файла в bytes
$size_echo = $size_bytes/1048576;
$size_echo = number_format($size_bytes, 2);
$extlimit = "yes"; //Да има ли ограничение за формата на файла (yes/no)
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Разрешени файлове за качване
$ext = strrchr($file_name,'.'); //Вземане на разширението на файла
if (!is_dir("$upload_dir")) //Дали папката в която ще се качват файловете съществува или не
{echo "Грешка: Папката <b>($upload_dir)</b> не съществува";}
if(isset($_POST['uploadform'])) // Когато полето на формата е попcлнена, тогава ще се качват нещата
{
$file_tmp = $_FILES['filetoupload']['tmp_name'];
$file_name = $_FILES['filetoupload']['name'];
//Взимане на размера на файла
$file_size = $_FILES['filetoupload']['size'];
if (empty($file_tmp)) //Ако не е избран файл за качване
{$errors.="Не е избран файл за качване!<br />"; $error[] = "yes";}
else
{
if ($file_size > $size_bytes) //Проверява дали файла не е прекалено голям
{
$file_size = $file_size/1048576;
$file_size = number_format($file_size, 2);
$errors .= 'Файлът е твърде голям ('.$file_size.' MB). Трябва да бъде под <b>'.$size_echo.'</b> MB.<br />'; $error[] = "yes";
}
$ext = strrchr($file_name,'.'); //Вземане на разширението на файла
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) //Ако има ограничение за формата на файла и ако формата не е сред позволените
{$errors.="Можете да качвате само изображения (.gif, . jpg, .png, .jpeg).<br />"; $error[] = "yes";}
// Задаване на ново име на файла
$file_name = str_replace(' ', '_', $file_name); //На мястото на интервала (space) се слага "_"
$rand = rand(0000,9999);
$new_file_name = $rand.$file_name;
$new_file_name = md5($new_file_name);
// Ако не желаем да променяме името
//$new_file_name = $file_name;
if(file_exists($upload_dir.$new_file_name)) //Проверка, дали няма файл с такова име. Ако има, шифроваме името още веднъж, за да избегнем съвпадения на имената
{$new_file_name = md5($new_file_name);}
}
if (empty($code))
{$errors.='<b>Потвърдителен код:</b> полето е празно<br />'; $error[] = "yes";}
if (!empty($code))
{
if(md5($code).'a4xn' == $_COOKIE['tntcon'])
{setcookie('tntcon','');}
else {$errors.='<b>Потвърдителен код:</b> кода не съвпада<br />'; $error[] = "yes";}
}
if (!empty($error))
{$result = '<center><div style="width: 660px; border: 1px solid #ff8c8c; background-color: #f5d5d5; padding: 5px;" align="left">'.$errors.'<br /><a href="'.$_SERVER[PHP_SELF].'" title="Върни се назад!"><b>Назад</b></a></div></center>';}
if (sizeof($error) == 0 || !in_array("yes",$error))
{
//Вземане на URL адрес към снимката
$photo_url = $site_link.$upload_dir.$new_file_name.$ext;
// Мести оригиналния файл на съвъра
move_uploaded_file($file_tmp,$upload_dir.$new_file_name.$ext);
// Оразмерява качения файл и го замества с новия
require_once 'functions.php';
$img = new Image($site_link.$upload_dir.$new_file_name.$ext);
if ( $img->IsValidImage() )
{
// Картинката е валидна
// Оразмерява я до максимално зададените размери, като запазва пропорциите. Параметрите са ширина, височина и дали да запази снимката, ако е с по-малки от зададените размери.
$img->ReiszeProportional(800, 600, true);
// Записва картинката под същото име и формат. Втори пъръметър - формат (jpg). Има и трети параметър - качество.
$img->Save('img/obiavi/'.$new_file_name.$ext, IMAGETYPE_JPEG);
}
else // невалидна картинка
{echo 'Има грешка при качването на файла.';}
// Показва снимката и дава лйнк
$result = '
<center>
<a href="'.$settings['index_url'].'obiavi_add.php?photo_url='.$photo_url.'" target="_self" title="Добави снимката към обявата!">
<img src="'.$photo_url.'" border="0" alt="Натиснете тук, за да добавите снимката към Вашата обява!" /></a><br /><br />
<a href="'.$settings['index_url'].'obiavi_add.php?photo_url='.$photo_url.'" target="_self" title="Добави снимката към обявата!"><strong>Добави файла към обявата!</strong></a><br /><br />
</center>';
}
}
else // Ако формата не е попълнена
{
// Проверяване на всички наши заявки (да не се надвишава големината и да е един от избраните типове файлове от нас)
for ($i = 0; $i < count($limitedext); $i++)
{
if (($i<>count($limitedext)-1))
{$commas = ", ";}
else
{$commas = "";}
list($key, $value) = each($limitedext);
$all_ext .= $value.$commas;
}
?>
<form action="" enctype="multipart/form-data" method="POST">
<table class="table" cellpadding="0" cellspacing="0" width="680">
<tr><td id="td"><input type="file" name="filetoupload"></td></tr>
<tr><td id="td"><img src="validate.php?<?php echo rand(0,9999);?>" alt="" width="50" height="24" style="text-align: absbottom;" /> <i style="font-size: 10px; color: #ff0000;">(задължително поле)</i><br /><input type="text" class="input" id="input" name="code" title="Въведете потвърдителния код!" /></td></tr>
<tr><td id="td"><br /><b style="color: #FF0000;">Внимание!</b> Чрез тази страница можете да качвате снимки на птици, които да използвате в обявата си. Моля, не злоупотребявайте!</tr></td>
<tr><td><br /><input type="submit" name="uploadform" class="googlesearch_button" value="Качи"></tr></td>
</table>
</form>
<?php
}// Крлай на else
if(isset($_POST['uploadform']))
{echo $result;}
?>