Upload

fena

Super Moderator
Абе нещо немога да схвана урока за ъплод класа. :oops:

някой може ли да ми даде някаква алтернатива или нещо такова, целта ми е да задам права на определен човек да може да качва чрез име и парола(това съм го направил) обаче немога ъплолда да разбера как да направя :|
 

Admin

Registered
Ще ти дам прост скрипт за ъплоад.
БЕз класове.
Който аз ползвам.
Обаче ще е утре или други ден защото както виждаш е 3 и нещо
след полунощ и все не ми остава време да пиша във форума.
Трябва да коментираме скрипта, защото са много опасни
всички такива скриптове.

Аз лично трябва да прегледам този скрипт дето е даден в урока, защото може и да има проблем с него.
 

fena

Super Moderator
няма проблем за сигурността, той си е за мой човек който знам че няма да прави мизерии, и благодаря ти :?: :wink:
 

Admin

Registered
fena1 каза:
няма проблем за сигурността, той си е за мой човек който знам че няма да прави мизерии, и благодаря ти :?: :wink:

Правиш си папка /upload/ и в нея слагаш този файла
upload.php :
Код:
<form name="form" enctype="multipart/form-data" method="post" action="upload.php">
  <input type="file" name="file"><input name="Send" type="submit" value="Upload">
</form>
<?

if(is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))    
{
$uploaddir='../upload/';                                                        
$upname = $_FILES['file']['name'];
$upname=str_replace(" ","",$upname); 
echo '<b>Upload:'.$upname.'</b>';
copy($file,$uploaddir. $upname); 
  }
?>
Не го гледай че е толкова къс.
Всичко сам си прави.

Даваш на твоя човек линк към него и всичко е ок.
Той ще може да качва файлове в папката /upload/.
Пробвай и кажи какво си направил.
Стига някой да не се докопа до него щото тука е яко разградено.
НЕ разчитай да качваш големи файлове с него.
За големи файлове (филми) се ползва ftp .
Помисли и за този вариант.
Слагаш едно FTP сървърче и готово.
 

fena

Super Moderator
admin каза:
fena1 каза:
няма проблем за сигурността, той си е за мой човек който знам че няма да прави мизерии, и благодаря ти :?: :wink:

Правиш си папка /upload/ и в нея слагаш този файла
upload.php :
Код:
<form name="form" enctype="multipart/form-data" method="post" action="upload.php">
  <input type="file" name="file"><input name="Send" type="submit" value="Upload">
</form>
<?

if(is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))    
{
$uploaddir='../upload/';                                                        
$upname = $_FILES['file']['name'];
$upname=str_replace(" ","",$upname); 
echo '<b>Upload:'.$upname.'</b>';
copy($file,$uploaddir. $upname); 
  }
?>
Не го гледай че е толкова къс.
Всичко сам си прави.

Даваш на твоя човек линк към него и всичко е ок.
Той ще може да качва файлове в папката /upload/.
Пробвай и кажи какво си направил.
Стига някой да не се докопа до него щото тука е яко разградено.
НЕ разчитай да качваш големи файлове с него.
За големи файлове (филми) се ползва ftp .
Помисли и за този вариант.
Слагаш едно FTP сървърче и готово.

ей сега ще пробвам...не той иска предимно картинки и музика да си качва...а няма кой да се докопа, защото ще пусна страница с парола(тоест първо да се логне) и после ще може да качва, ще остраня регистрирането и всичко е 6 :twisted:


EDIT:///

стана :twisted: :?: :?:

10х, и последно по темата, ако можеш да ми кажиш как да му определя накаква квота за качване, примерно от 5ГБ
 

Admin

Registered
Или сесийна променлива.
Той човека ай е прочел уроците ама ние още даваме акъл.
 

Admin

Registered
fena1 каза:
10х предварително :) :?:

МАй няма и да го довършвам. :?

МЕжду другото виждам, че си си направил два акаунта.
По принцип всички акаунти дето са създадени някъде в сайта важат навсякъде.
Аз съм виновен , че не съм го написал при регистрацията.
Утре ще го напиша да се знае.
Иначе много хора си направиха по няколко акаунта щото не знаят.
 

fena

Super Moderator
admin каза:
fena1 каза:
10х предварително :) :?:

МАй няма и да го довършвам. :?

МЕжду другото виждам, че си си направил два акаунта.
По принцип всички акаунти дето са създадени някъде в сайта важат навсякъде.
Аз съм виновен , че не съм го написал при регистрацията.
Утре ще го напиша да се знае.
Иначе много хора си направиха по няколко акаунта щото не знаят.

...не съм знаел :oops:

а значи няма да го бъде това със квотата за ъплолд

е не е толкова страшно, аз съм го инструктирал да не превишава 5ГБ :)

поне да показва колко е голяма тази папка upload, може ли такова скриптче?
 

ladycroftfan

Registered
Привет,

Ще ти дам примерен скрипт за взимане на usage-a на дадена папка, но да те предупредя, че скрипт-а индексира директорията което води до значително забавяне зареждането на страницата.

Код:
<?php

function dirusage($directory) {

        if (!is_dir($directory)) {

                echo('
                Директорията не съществува!
                ');

        }

        $size = 0;

        if ($dir = opendir($directory)) {

                while (($dirfile = readdir($dir)) !== false) {

                        $path = $directory.'/'.$dirfile;

                        if (is_link($path) || $dirfile == '.' || $dirfile == '..') {
                                continue;
                        }

                        if (is_file($path)) {
                                $size += filesize($path);
                        }

                       if (is_dir($path)) {
                                $dirSize = dirusage($path);
                                if ($dirSize >= 0) {
                                        $size += $dirSize;
                                }
                                else {
                                        return false;
                                }
                        }
                }
                closedir($dir);
                return $size;
        }

}

$size = dirusage("d:/appserv/www/blabla");

if($size >= 1073741824) {
        $size = round($size / 1073741824 * 100) / 100 . " Gb";
}
elseif($size >= 1048576) {
        $size = round($size / 1048576 * 100) / 100 . " Mb";
}
elseif($size >= 1024) {
        $size = round($size / 1024 * 100) / 100 . " Kb";
}
else {
        $size = $size . " b";
}

echo('
Размера на директория '.$directory.' е '.$size.' <br />
');

?>

Не прилагам коментар, защото трябва да излизам след 20 мин, пък и скрипт-а не е неразбираем :(

Ако искаш да му приложиш и квота, може да направиш една табличка в дб-то в която да слагаш id-то му, username-a, размера на квотата ( текущият ) и ограничената квота.
Да индексираш на 2 часа примерно, и да обновяваш текущата квота и когато стигне 5 гб, да му забраниш ъплоада или каквото ти решиш :}
 

Горе