Вход Регистрация
Файл: backup/down/up.php
Строк: 128
<?php
function getExt($name){
return 
end(explode('.'$name));
}
require_once(
'../core/start.php');
func::is_auth();
$praz core::$dbs->queryFetch("SELECT * FROM `down_pr` WHERE `id` = ? LIMIT 1",array($id));
if(empty(
$praz['id'])){
header('location:/');
exit();
}
$raz core::$dbs->queryFetch("SELECT * FROM `down_r` WHERE `id` = ? LIMIT 1",array($praz['id_r']));
$title 'Загрузка файла';
require_once(
root.'core/header.php');
echo 
'<div class="wizart">'.$title.'</div>';
if(
$_POST['imp']==0){
if(isset(
$_POST['ok'])){
$name func::check($_POST['name']);
$about func::check($_POST['about']);
if(empty(
$name) or strlen($name)>100){$err 'Что-то с названием файла! Или оно слишком длинное, или вы вообще его не ввели!';}
if(empty(
$about)){$err 'Вы не ввели описание файла!';}
if(
$_FILES['file']['size'] > 1024*60*1024){$err 'Размер файла превышает 60 мб.!';}
if(
core::$dbs->querySingle("SELECT COUNT(id) FROM `down` WHERE `name` = ?",array($name))==1){
$err 'Такой файл уже есть!';}
$file func::retrans(func::del($_FILES['file']['name']));
$ext strtolower(strrchr($file'.'));
$file HTTPHOME.'_'.rand(1000,9999).'_'.$file;
$type_upload getExt($file);
$tp explode(',',$raz['type']);
$cc count($tp);
$type_no_error false;
for(
$i=0;$i<$cc;$i++){
if(
$type_upload==$tp[$i]) $type_no_error true;
}
if(!
$type_no_error$err 'Запрещенный формат файла';
/*if(preg_match('/(.php|.pl|.phpb|.htmlb|.htmb|.phtmb|.inib|.perlb|.htaccess)/i', $file)){
$err = 'Запрещенный формат файла!';}*/
if(empty($err)){
$uploaddir 'down/'.$file;
if(
copy($_FILES['file']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/files/'.$uploaddir)){
core::$dbs->query("INSERT INTO `down` SET `id_r` = ?, `id_pr` = ?, `time` = ?, `last` = ?, `name` = ?, `value` = ?, `file` = ?, `user_id` = ?, `type` = ?",array($raz['id'],$praz['id'],time(),time(),$name,$about,$uploaddir,$user['id'],0));
header('location: /down/file/'.core::$dbs->lastInsertId());}
}
}
}else{
function 
getWithoutPath($filename){
return 
end(explode("/"$filename));
}
function 
p20repl($fn){
return 
str_replace('%20'' '$fn);
}
if(
$_POST['import'] == ''){
$err .= 'Вы не ввели ссылку на файл!';
}
$f = @fopen($_POST['import'], 'r');
if(!
$f){
$err .= 'Файл по ссылке <b>'.func::check($_POST['import']).'</b> недоступен.</b>';
}
$parametr explode('#',trim($_POST['import']));
if(!isset(
$parametr[1])) $parametr[1] = basename(trim($parametr[0]));
$ex pathinfo(trim($parametr[0]));
$ext strtolower($ex['extension']);
$fname $parametr[1];
$fnames=$parametr[1]; //имя
$type_upload getExt($fnames);
$tp explode(',',$raz['type']);
$cc count($tp);
$type_no_error false;
for(
$i=0;$i<$cc;$i++){
if(
$type_upload==$tp[$i]) $type_no_error true;
}
if(!
$type_no_error$err 'Запрещенный формат файла<br/>';
/*if(preg_match('/(.php|.pl|.phpb|.htmlb|.htmb|.phtmb|.inib|.perlb|.htaccess)/i', $fnames)){
$err .= 'Файлы такого типа запрещены!';
}*/
$ext2 explode("."$fname);
/*if (count($ext2) != 2) {
$err = 'Запрещены файлы не имеющие имени, расширения, или с двойным расширением.';
}
*/
if(strlen($fname)>250){
$err 'Длина названия файла не должна превышать 250 символов!';
}
if (
preg_match("/[^a-z0-9.()+_-]/i"$fname)){
$err '<br />В названии файла "<b>'.$fname.'</b>" присутствуют недопустимые символы.<br />Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br />Запрещены пробелы.';
}
while(
$c fread($f1024)) $filedata .= $c;
if(
strlen($filedata) > 1024*1024*30){
$err .= 'Размер файла превышает <b>30 Мб</b>.';
}
$FileName 'down/'.HTTPHOME.'_'.rand(1000,9999).'_'.func::retrans(func::del($fname));
$adres $FileName;
fclose($f);
$_POST['import'] = p20repl($_POST['import']);
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/files/'.$adres$filedata);
$name func::check($_POST['name']);
$about func::check($_POST['about']);
if(empty(
$name) or strlen($name)>100){$err 'Что-то с названием файла! Или оно слишком длинное, или вы вообще его не ввели!';}
if(
core::$dbs->querySingle("SELECT COUNT(id) FROM `down` WHERE `name` = ?",array($name))==1){
$err 'Такой файл уже есть!';}
if(empty(
$about)){
$err 'Вы не ввели описание файла!';}
if(empty(
$err)){
core::$dbs->query("INSERT INTO `down` SET `id_r` = ?, `id_pr` = ?, `time` = ?, `last` = ?, `name` = ?, `value` = ?, `file` = ?, `user_id` = ?, `type` = ?",array($raz['id'],$praz['id'],time(),time(),$name,$about,$adres,$user['id'],0));
header('location: /down/file/'.core::$dbs->lastInsertId());}
}
func::error($err);
echo 
'<form action="/down/up/'.$id.'" method="post" enctype="multipart/form-data">Разрешенные форматы: <font color="red"><b>'.$raz['type'].'</b></font><br/>* Название:<br/><input type="text" name="name"/><br/>* Описание:<br/><textarea name="about"></textarea><br/>
Файл:<br/><input type="file" name="file"/><br/>
<input type="radio" name="imp" value="1"> Импорт<br/>Ссылка для импорта:<br/>
<input type="text" value="http://" name="import"/><br/>
<input type="submit" name="ok" value="Загрузить"/></form>'
;
echo 
'<div class="main"><img src="/down/ext/dir.gif" alt="*"/> <a href="/down">ЗЦ</a> / <a href="/down/pr/'.$raz['id'].'">'.$raz['name'].'</a> / <a href="/down/files/'.$praz['id'].'">'.$praz['name'].'</a></div>';
func::footer_menu();
require_once(
root.'core/footer.php');
?>
Онлайн: 0
Реклама