Файл: modules/zc/up.php
Строк: 124
<?php
$title = 'Выгрузка файла';
include_once($_SERVER["DOCUMENT_ROOT"].'/style/head.php');
mode('user');
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT * FROM `zc_dir` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Папки не существует!');
}
if(isset($_POST['ok'])){
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
$_POST['description'] = guard($db->real_escape_string($_POST['description']));
if(empty($_POST['name'])){
error('Введите название!');
}elseif(mb_strlen($_POST['name'])<2 or mb_strlen($_POST['name'])>100){
error('Название файла не должно быть менее двух и не более 100 символов!');
}elseif(empty($_POST['description'])){
error('Введите описание файла!');
}
if($_POST['imp']==imp){
$_POST['import'] = guard($db->real_escape_string($_POST['import']));
if (!@fopen($_POST['import'], 'r')){
error('Файла не существует!');
}
$gh = get_headers($_POST['import'], 1);
$maxsize = 100; // Максимальный размер файла,в мегабайтах
$size = $gh['Content-Length']; // Вес файла
if ($size > (1048576 * $maxsize)){
error('Допустимый размер загружаемого файла '.$maxsize.' мб.');
}
$info_url = pathinfo($_POST['import']);
$filetype = array(
'jpg',
'gif',
'png',
'jpeg',
'3gp',
'mp4',
'mp3',
'flv',
'zip',
'rar');
/* Если тип файла не подходит */
if (!in_array($info_url['extension'], $filetype))
{
error('Тип файла не подходит!');
}
$file = $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.time().'.'.$info_url['extension'];
if (!copy($_POST['import'], '../../files/zc/file/'.$file.'')){
error('Ошибка в копировании на сервер!');
}
$db->query("INSERT INTO `zc_file` SET `name`='".$_POST['name']."', `description`='".$_POST['description']."', `file`='".$file."', `dir`='".$_GET['id']."', `time`='".time()."', `us`='".$user['id']."'");
include_once('c.php');
$idf = $db->insert_id;
if($_POST['impimg']!='http://'){
$_POST['impimg'] = guard($db->real_escape_string($_POST['impimg']));
if (!@fopen($_POST['impimg'], 'r')){
error('Скриншота не существует!');
}
$gh = get_headers($_POST['impimg'], 1);
$maxsize = 10; // Максимальный размер файла,в мегабайтах
$size = $gh['Content-Length']; // Вес файла
if ($size > (1048576 * $maxsize)){
error('Допустимый размер загружаемого скриншота '.$maxsize.' мб.');
}
$info_url = pathinfo($_POST['impimg']);
$filetype = array(
'jpg',
'gif',
'png',
'jpeg');
/* Если тип файла не подходит */
if (!in_array($info_url['extension'], $filetype))
{
error('Тип файла не подходит!');
}
$screen = $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.time().'.'.$info_url['extension'];
if (!copy($_POST['impimg'], '../../files/zc/screen/'.$screen.'')){
error('Ошибка в копировании на сервер скриншота!');
}
$db->query("INSERT INTO `zc_screen` SET `file`='".$idf."', `screen`='".$screen."'");
}
success('Файл успешно загружен! Ожидайте проверки файла администрацией.');
}else{
$size = $_FILES['file']['size'];
$max = 100;
$filetype = array(
'jpg',
'gif',
'png',
'jpeg',
'3gp',
'mp4',
'mp3',
'flv',
'zip',
'rar');
$upfiletype = substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], ".") + 1);
if(mb_strlen($_POST['description'])<15 or mb_strlen($_POST['description'])>4000){
error('Описание файла не должно быть менее 15 и не более 4000 символов!');
}elseif(!@file_exists($_FILES['file']['tmp_name']) AND $_POST['imp']!=imp){
error('Выберите файл!');
}elseif($size > (1048576 * $max)){
error('Вес файла должен быть не более '.$max.' мб.');
}elseif(!in_array($upfiletype, $filetype)){
error('Файл данного формата загржать запрещено!');
}
$file = $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.$_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], "../../files/zc/file/".$file."");
$db->query("INSERT INTO `zc_file` SET `name`='".$_POST['name']."', `description`='".$_POST['description']."', `file`='".$file."', `dir`='".$_GET['id']."', `time`='".time()."', `us`='".$user['id']."'");
include_once('c.php');
$idf = $db->insert_id;
if(@file_exists($_FILES['screen']['tmp_name'])){
$size = $_FILES['screen']['size'];
$max = 10;
$filetype = array(
'jpg',
'gif',
'png',
'jpeg');
$upfiletype = substr($_FILES['screen']['name'], strrpos($_FILES['screen']['name'], ".") + 1);
if($size > (1048576 * $max)){
error('Вес файла должен быть не более '.$max.' мб.');
}elseif(!in_array($upfiletype, $filetype)){
error('Скриншот данного формата загржать запрещено!');
}
$screen = $_SERVER["HTTP_HOST"].'_'.rand(1, 9999) + time().'_'.$_FILES['name'];
move_uploaded_file($_FILES['screen']['tmp_name'], "../../files/zc/screen/".$screen."");
$db->query("INSERT INTO `zc_screen` SET `file`='".$idf."', `screen`='".$screen."'");
}
success('Файл успешно загружен, ожидайте одобрения администрацией!');
}
if(!empty($_POST['password'])){
$db->query("UPDATE `zc_file` SET `password`='".md5($_POST['password'])."' WHERE `id`='".$idf."'");
}
}
?>
<div class="title">Выгрузка файла</div>
<div class="text">
<form action="" method="POST" enctype="multipart/form-data">
Название:<br/>
<input type="text" name="name"><br/>
<a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
Описание:<br/>
<textarea name="description"></textarea><br/>
Пароль(не обязательно):<br/>
<input type="password" name="password"><br/>
*Выберите файл:<br/>
<input type="file" name="file"><br/>
Скриншот(Не обязательно):<br/>
<input type="file" name="screen"><br/>
<input type="radio" name="imp" value="imp"> Импорт:<br/>
Файл:<br/>
<input type="text" name="import" value="http://"><br/>
Скриншот(Не обязательно):<br/>
<input type="text" name="impimg" value="http://"><br/>
<input type="submit" name="ok" value="Загрузить">
</form>
</div>
<?
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
?>