Помогнете ми за един Upload скрипт ;)

HunteR

Super Moderator
Значи искам да попитам как да наглася един скрипт!
Въпроса е малко сложен поне за мен и мисля, че няма да стане само с php ;)
Та да минем и към въпроса.
Значи използвам ето това за Upload и отдолу да показва качените файлове в папката

Код:
<!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>

Та въпроса ми е как да наглася като пуснеш нещо да се качва да изписва колко се е качило(колко проценти).
Който успее да ми го направя ще съм му много благодарен ;)
 
Това с процентите хич няма да е лесно, да не кажа невъзможно ако нямаш поддръжка на последна версия на php. Някъде имаше тема за това.
 
Еми незнам във freehostia.com коя версия им е ама иначе кодче нещо такова?
Някой да помогне? :? :)
 
това се прави с JS или AJAX. ако искаш потърсй AJAX upload script и виж как е направено при него, че аз не разбирам нито от JS нито от AJAX
 
Еми сега ще го сваля да видя ако вие някакси успеете да разберете как ще стане това с процентите не се колебайте, а казвайте :)
 
jooorooo каза:
http://www.srmiles.com/freestuff/ajax_file_uploader/
Не става нещо, пише ми Waiting for download to start (1,2,3...566) Помагаите
Ето може сами да се оверите, опитаите се да качите нещо(нещо малко) http://war3x.no-ip.org/aaa/
 
http://war3x.no-ip.org/aaa/status.php от това се разбира че трябва да се създъде някакви директории но незнам какви и къде да ги създам... помогнете ми :)
 

Back
Горе