Максимална големина на папка

mitko876

Registered
Искам да ви помоля да ми кажете как да напрявя на Тази Ъплоуд система ограничение папката да не е по голяма от 3 МБ
 
Намери
if(($upsize < 6250000) && ($upsize!=0))

Замести го с
if(($upsize < 6250000) && ($upsize!=0) && ($dir_size <= 6250000))

и преди него сложи
$dir_size = dirusage($current_dir) + $upsize;

и кажи дали ще стане :wink:


($upsize < 6250000) - максимален размер на файла
($dir_size <= 6250000) - максимален размер на папката
 
Ето моднатия код, ако някой се интересува.
if ($dir_size <= 6250000){
Код:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>File Manager</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<?
/************************************************************
* File Manager Dir
************************************************************/

$current_dir = ("./files/");



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;
}
}


/************************************************************/
echo ("<table class=\"table\" align=\"center\"><tr><td align=\"center\" colspan=\"4\" class=\"fm\"><b>File Manager</b></td></tr><tr><td colspan=\"4\" class=\"up\" align=\"center\"><br /><form name=\"form\" enctype=\"multipart/form-data\" method=\"post\" action=\"file.php\"><input type=\"file\" name=\"file\"><input name=\"Send\" type=\"submit\" value=\"Upload\"></form>");
if (is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))
{
$upload_dir = $current_dir;
$upname = $_FILES['file']['name'];
$upname = str_replace(" ","",$upname);
$uptype = $_FILES['file']['type'];
$upsize = $_FILES['file']['size'];
if ( $uptype == 'image/jpeg' || $uptype == 'image/gif' || $uptype == 'text/html' || $uptype == 'text/plain'|| $uptype == 'text/css' || $uptype == 'application/x-javascript' || $uptype == 'audio/x-pn-realaudio-plugin' || $uptype == 'application/x-zip' )
{
$dir_size = dirusage($current_dir) + $upsize;
if ($dir_size <= 6250000){
$up_status = true;
echo ("<div class=\"u\">Успешно качихте файл <b>$upname</b> ($uptype)</div>");
} else {

}
}
else
{
echo ("<div class=\"z\">Файла не може да бъде качен <b>$upname</b> ($uptype)</div><br /><div class=\"u\">Може да качвате само jpeg, gif, html, txt, css, js, zip и rar.</div><br /><br />");
echo ("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=file.php\">");
exit;
}
if(($upsize < 6250000) && ($upsize!=0) && $up_status)
{
$upname=strtolower($upname);
copy($file,$upload_dir.$upname);
}
else
{
echo ("<div class=\"z\">Файла е по голям от 5 MB или сте заели цялото място в личната ви папка</div>");
}
}
echo ("</td></tr>");
echo ("<tr><td class=\"td\" align=\"center\"><b>Файл</b></td><td class=\"td2\" align=\"center\"><b>Размер</b></td><td class=\"td3\" align=\"center\"><b>Едит</b></td><td class=\"td3\" align=\"center\"><b>Изтрий</b></td></tr>");
$dir = opendir($current_dir);
while ($files = readdir($dir))
{
$file_array[] = $files;
}
foreach ($file_array as $files)
{
echo "";
if($files == ".." || $files == ".")
{
continue;
}
echo ("<tr class=\"b\">");
echo ("<td class=\"file\">");
echo ("<a href=\"$current_dir$files\" target=\"_blank\">$files</a>");
echo ("</td><td class=\"size\">");
$file = $current_dir.$files;
$sizef = filesize($file);
$i=0;
$iec = array( " Bytes", " KB", " MB", " GB");
while (($sizef/1024)>1)
{
$sizef=$sizef/1024;
$i++;
}
echo substr($sizef,0,strpos($sizef,'.')+4).$iec[$i];
echo ("</td><td align=\"center\" class=\"del\">");
echo ("<a href=\"open.php?edit=$files\"><img src=\"edit.gif\" border=\"0\" alt=\"edit\"></a>");
echo ("</td><td align=\"center\" class=\"del\">");
echo ("<a href=\"del.php?target=$files\"><img src=\"del.gif\" border=\"0\" alt=\"del\"></a>");
echo ("</td>");
echo ("</tr>");
}
closedir($dir);
echo ("<tr><td align=\"right\" class=\"papka\">Общия размер на директорията е</td>
<td class=\"razmer\">");



$size = dirusage($current_dir);
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 ("<b>$size</b>");
echo ("</td>");
echo ("<td class=\"pole\"></td>");
echo ("<td class=\"pole2\"></td>");
echo ("</tr>");
echo ("</table>");
?>
</body>
</html>
 
А защо ми дава тази грешка от къде идва?
Warning: copy(Array): failed to open stream: No such file or directory in /home/www/anketa-bg.freehostia.com/
 
Добре с тази грешка се оправих :)
А може ли да ми кажете на колко B е равен 1 MB? :)
 

Back
Горе