Файл: modules/download/upload.php
Строк: 67
<?php
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
$id = filter_input(INPUT_GET,'id',FILTER_SANITIZE_NUMBER_INT);
$id = intval($id);
//Авторизация
if($id_user == false) {
header('Location: index.php');
}
//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($id) || !is_numeric($id)) {
header('Location: index.php');
exit;
}
//Выводит папки где $id = true
$dir_file = $db->get_array($db->query("SELECT * FROM `files_dir` WHERE `id` = '".$id."'"));
//Название страницы
$templates->template(Lang::__('Добавления файла в '.$dir_file['name']));
//Если количество файлов будет TRUE
if(isset($_POST['kol_files'])){
$kol_files = intval($_POST['kol_files']);
}elseif (isset($_SESSION['kol_files'])) {
$kol_files = intval($_SESSION['kol_files']);
}else {
$kol_files = 1;
//Закидываем в сессию счетчик загружаемых файлов
$_SESSION['kol_files'] = $kol_files;
}
// установить переменные
// установить переменные
$dir_dest = (isset($_GET['dir']) ? $_GET['dir'] : H.'upload/download/files/');
$dir_pics = (isset($_GET['pics']) ? $_GET['pics'] : $dir_dest);
$submit = filter_input(INPUT_POST,'submit');
if(isset($submit)) {
//Создаем массив и обрабатываем
$files = array();
foreach ($_FILES['files'] as $k => $l) {
foreach ($l as $i => $v) {
if (!array_key_exists($i, $files))
$files[$i] = array();
$files[$i][$k] = $v;
}
}
// Теперь мы можем пройтись по $files, и кормить каждый элемент в класс
foreach ($files as $file) {
// Мы создании экземпляра класса для каждого элемента $file
$handle = new Upload($file);
// То мы проверяем, если файл был загружен правильно
// в временного расположение в сервере (часто это / TMP)
if ($handle->uploaded) {
// Теперь, мы начинаем «процесс» загрузки. То есть, чтобы скопировать загруженный файл
// Из временной папки в нужное место
// It could be something like $handle->Process('/home/www/my_uploads/');
$handle->Process($dir_dest);
// мы проверяем, если все прошло ОК
if ($handle->processed) {
// все было хорошо!
//Записываем новый данные файла в базу
$db->query("INSERT INTO `files` (`id_dir`,`idir`,`name`,`files`,`time`,`id_user`,`filesize`) VALUES ('".$id."','".$dir_file['dir']."','".$db->safesql($file['name'])."','".$handle->file_dst_name."','".time()."','".$id_user."','".filesize($handle->file_dst_pathname)."')");
//Доп. описание
$name = '<b>Файл:</b> <a href="'.$dir_pics.'/' . $handle->file_dst_name . '">' . $handle->file_dst_name . '</a>';
$name .= '(' . round(filesize($handle->file_dst_pathname)/256)/4 . 'KB)';
//Успешно
header('Location: dir.php?id='.$id.'');
} else {
// Если файл загружен не в нужной месте
//header('Location: dir.php?id='.$id.'');
exit;
}
} else {
// если мы здесь, загрузка файлов на сервер не удалось по ряду причин
// т.е. сервер не получить файл
header('Location: dir.php?id='.$id.'');
exit;
}
}
}
//Форма загрузки файлов
echo '<div class="mainpost">';
$form = new form('?id='.$id.'','','','enctype="multipart/form-data"');
$form->text('<div class="mainpost">');
//Количество загружаемых файлов
$form->text('Количество загружаемых файлов:<br/>');
$form->input3(false,'kol_files','text',$kol_files);
$form->submit('Получить формы','kol_file',false,'btn');
$form->text('</div>');
//Выводит форма добавление файлов
for ($num = 0;$num < $kol_files; $num++) {
$form->text('<div class="mainpost" style="padding: 12px;"><span class="time">'.($num + 1).'</span>');
$form->input3('Выбираем файл:','files[]','file',false,'class="filestyle" data-input="false"');
$form->text('</div>');
}
//Отправляем данные
$form->text('<div class="submit">');
$form->submit('Начинаем загрузку','submit',true,'btn');
$form->text('</div>');
$form->display();
echo '</div>';
//Переадресации
echo engine::home(array('Назад','dir.php?id='.$id.''));
echo engine::home(array('На главную','index.php'));