Размер файла: 2.66Kb
<?php
include"../../sys/fnc.php";
$name=filtr($_POST['name']);
$opis=filtr($_POST['opis']);
if(!empty($_POST['upload']) and $user[leval]==4)
{
//Список разрешенных файлов
$res_conf=$db->query("select * from `down_conf` where `id`='1'");
$down_conf = $res_conf->fetch_array();
$whitelist = explode(',',$down_conf[rass]);
//$t=count($rass);
//$whitelist = array();
$data = array();
$error = true;
//Проверяем разрешение файла
foreach ($whitelist as $item) {
if(preg_match("/$item\$/i",$_FILES['userfile']['name'])) $error = false;
}
//если нет ошибок, грузим файл
if (preg_match('/[^a-z0-9\._-]/iu',$_FILES['userfile']['name']))
{
$data['errors'] = "В название файла разрешены только знаки латинского алфавита, знаки -_ и цифры, пожалуйста переименуйте файл!";
}
else
{
if(!$error)
{
$folder = '../../download/';//директория в которую будет загружен файл
$uploadedFile = $folder.basename($_FILES['userfile']['name']);
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if($opis!="")
{
if($name!="")
{
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadedFile))
{
$pach="download/".$_FILES['userfile']['name'];
$db->query("INSERT INTO `down` (`name`,`opis`,`pach`) VALUES ('$name','$opis','$pach')");
$data = $_FILES['userfile'];
}
else
{
$data['errors'] = "Не известная ошибка, файл не загружен";
}
}
else
{
$data['errors'] = "Вы не написали название файла";
}
}
else
{
$data['errors'] = "Вы не написали описание файла";
}
}
else
{
$data['errors'] = "Файл не загружен";
}
}
else
{
$data['errors'] = 'Вы загружаете запрещенный тип файла';
}
}
//Формируем js-файл
$res = '<script type="text/javascript">';
$res .= "var data = new Object;";
foreach($data as $key => $value){
$res .= 'data.'.$key.' = "'.$value.'";';
}
$res .= 'window.parent.handleResponse(data);';
$res .= "</script>";
echo $res;
$res_conf->close();
}
else
{
die("ERROR");
}
?>