Файл: user/files/upload.php
Строк: 58
<?php
/* Мод "Файлы"
 * Версия v0.0.1
 * Дата последнего редактирования 30.01.2015
 * Двиг DCMS Special
 * Модифицировал densnet
 * Файл upload.php
 * Описание: выгрузка файлов
 */
require_once '../../sys/inc/start.php';
require_once H . 'sys/inc/compress.php';
require_once H . 'sys/inc/sess.php';
require_once H . 'sys/inc/settings.php';
require_once H . 'sys/inc/db_connect.php';
require_once H . 'sys/inc/ipua.php';
require_once H . 'sys/inc/fnc.php';
require_once H . 'sys/inc/user.php';
$set['title'] = 'Добавить файл'; // заголовок страницы
require_once H . 'sys/inc/thead.php';
user::only_reg();
title();
aut();
require_once 'config.php';
function zam($am) {
    return strtr($am, " .&", "___");
}
$id_dir = intval($_GET['id']);
$dir_id = mysql_fetch_array(mysql_query("SELECT * FROM `user_dir` WHERE `id` = '$id_dir' LIMIT 1"));
if ($dir_id['id_user'] == $user['id']) {
    if (isset($_GET['ok'])) {
        if (!isset($_FILES['file'])) {
            $err = 'Ошибка при выгрузке файла';
        } else {
            $file = text::esc(stripcslashes(htmlspecialchars($_FILES['file']['name'])));
            $file = preg_replace('(#|?)', NULL, $file);
            $name = preg_replace('#.[^.]*$#', NULL, $file); // имя файла без расширения
            $imya = zam($name);
            $ras = strtolower(preg_replace('#^.*.#', NULL, $file));
            $size = filesize($_FILES['file']['tmp_name']);
            $rasss = explode(';', $ras);
            $ras_ok = false;
            for ($i = 0; $i < count($rasss); $i++) {
                if ($rasss[$i] != NULL && $ras == $rasss[$i]) {
                    $ras_ok = true;
                }
            }
            if (!$ras_ok) {
                $err = 'Неверное расширение файла';
            }
        }
        $opis = NULL;
        if (isset($_POST['opis'])) {
            $opis = stripslashes(htmlspecialchars(text::esc($_POST['opis'])));
        }
        if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user_files` WHERE `dir` = '$id_dir' AND `name` = '$imya'"), 0) != 0) {
            $err = 'Файл с таким названием уже есть в этой папке';
        }
        if (!isset($err)) {
            mysql_query("INSERT INTO `user_files` (`dir`, `name`, `ras`, `size`, `time`, `id_user`, `opis` ) VALUES ('$id_dir', '$imya', '$ras', '$size', '$time', '$user[id]', '$opis' )");
            $id_file = mysql_insert_id();
            if (!@copy($_FILES['file']['tmp_name'], H . "sys/files/$id_file.dat")) {
                mysql_query("DELETE FROM `user_files` WHERE `id` = '$id_file' LIMIT 1");
                $err[] = 'Ошибка при выгрузке';
            }
            header("location: dir.php?id=" . $user['id'] . "&dir=" . $id_dir . "");
        }
    }
    err();
    echo "<div class = 'razd'>";
    echo "Папка: <b>$dir_id[name]</b>";
    echo "</div>";
    echo "<form class = 'razd' method = 'post' enctype = 'multipart/form-data' action = '?id=$_GET[id]&dir=$_GET[dir]&ok'>";
    echo "<b>Файл</b><br />";
    echo "<input name = 'file' type = 'file'/><br />";
    echo "<b>Описание</b><br />";
    echo "<textarea name = 'opis'></textarea><br />n";
    echo "<button class = 'button sign-ins'>Загрузить</button>";
    echo "<br />$ras";
    echo "</form>";
} else {
    header("location: /index.php");
}
require_once H . 'sys/inc/tfoot.php';