Autor Zpráva
fil
Profil *
Dá sa doplniť do upload skriptu progress bar?
Skript ktorý používam na upload:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>

<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='sk'>
<head>
<meta http-equiv='Content-Type' content='application/xhtml+xml; charset=utf-8' />
<style type='text/css'>
/*<![CDATA[*/
* { margin:0; padding:0; }
html, body { font-family:'Tahoma','Lucida Grande CE',lucida,sans-serif; font-size:12px; padding:10px; }

div.statusbar { width:300px; height:25px; border:1px outset silver; background:url('bar-empty.png') repeat-x; position:relative; }
div.statusbar div#status { width:300px; height:25px; color:black; font-weight:bold; top:0; left:0; position:absolute; text-align:center; padding:6px; }
div.statusbar div#bar { width:0%; height:100%; background:url('bar.png') repeat-x; text-align:center; }
/*]]>*/
</style>
<script type='text/javascript'>
/*<![CDATA[*/
function status(sb_start,sb_end,seconds)
{
var speed = Math.round(seconds*10);
var timer = 0;
for(i = sb_start; i <= sb_end; i++)
{
setTimeout("process('" + i + "')",(timer*speed));
timer++;
}
}

function process(status)
{
var progress = document.getElementById('status');
progress.innerHTML = status + '%';

var bar = document.getElementById('bar');
bar.style.width = status + '%';

if(status == 100) progress.innerHTML = 'Completed';
}

status(0,100,10);
/*]]>*/
</script>
<title>Test</title>
</head>
<body>

<div class='statusbar'>
<div id='bar'></div>
<div id='status'>0%</div>
</div>

</body>
</html>

A stiahol som progress bar ale neviem ako ho mám doplnit do toho uploadu.
progress bar:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>

<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='sk'>
<head>
<meta http-equiv='Content-Type' content='application/xhtml+xml; charset=utf-8' />
<style type='text/css'>
/*<![CDATA[*/
* { margin:0; padding:0; }
html, body { font-family:'Tahoma','Lucida Grande CE',lucida,sans-serif; font-size:12px; padding:10px; }
div.statusbar { width:300px; height:25px; border:1px outset silver; background:url('bar-empty.png') repeat-x; position:relative; }
div.statusbar div#status { width:300px; height:25px; color:black; font-weight:bold; top:0; left:0; position:absolute; text-align:center; padding:6px; }
div.statusbar div#bar { width:0%; height:100%; background:url('bar.png') repeat-x; text-align:center; }
/*]]>*/
</style>
<script type='text/javascript'>
/*<![CDATA[*/
function status(sb_start,sb_end,seconds)
{
var speed = Math.round(seconds*10);
var timer = 0;
for(i = sb_start; i <= sb_end; i++)
{
setTimeout("process('" + i + "')",(timer*speed));
timer++;
}
}
function process(status)
{
var progress = document.getElementById('status');
progress.innerHTML = status + '%';
var bar = document.getElementById('bar');
bar.style.width = status + '%';
if(status == 100) progress.innerHTML = 'Completed';
}
status(0,100,10);
/*]]>*/
</script>
pavel prochazka.zde.cz
Profil *
fil jde udelat cokoliv, otazkou zda vynalozene usili za to stoji.... Neni lepsi radsi rici uzivately za pokud ma takovou a takovou rychlost tak mu to bude trvat asi tak dlouho? Dopral bych tam cca 3 az 5 rychlosti a uzivatl sam bude vedet orientacne jak dlouho mu to bude trvat. To co chcete delat muzete udelat nej pomoci javasrciptu ale kdyz ho ma uzivatel zakazany, tak je to stejne k nicemu. V html a php to nejde....
fil
Profil *
pavel prochazka.zde.cz
Bolo by to tiež riešenie ale ten upload mám cez niečo ako Pop-up okno a není tam stavový riadok. Keď dám upload tak se nic nedeje, v skutočnosti ho uploaduje. Nechcem aby uživatel zavrel okno skor ako uploaduje súbor
pavel prochazka.zde.cz
Profil *
fil ja bych to neresil pres pou-up ukno ale hezky v hlavnim okne. Napsal bych neco ve stylu ze ce soubor nahrava, vyckejte prosim a napsal bych nejakou tabulku rychlosti za jak dlouho ma ocekavat pokracovani. Po nahrati se zobrazi dalsi stranka jako soubor uspesne nahran a podobne.....
DoubleThink
Profil *
V html a php to nejde
Všechno jde.

Pokud chceš použít (nejspíš AJAXový) progress bar pro upload, je zde malý zádrhel. Apache předává uploadovaný soubor PHP interpretu až po ukončení požadavku - do té doby PHP není schopno zjistit, jaká část už je na serveru.

Většinou se to řeší Perlovým scriptem, nebo jsem viděl i nějakou knihovnu do PHP. Se standardní výbavou to ale nejde.
fil
Profil *
pavel prochazka.zde.cz
Doteraz som to mal urobené tekto, pripadalo my to dosť otrepané.
Chcem na stránke niečo živšie.
Mám to TU len to neviem rozbehnuť :-(
fil
Profil *
Tak ma napadlo že nieje doležitý progress bar ale či by sa nedalo vložiť počas uploadu aspoň animovaný GIF. V tom Pop up okne totiž sa nič nedeje, tak by tam aspoň niečo pohibovalo že sa to uploaduje
pavel prochazka.zde.cz
Profil *
fil toto je urcite lepsi a hlavne jednodussi nez progress bar :):):)
djlj
Profil
fil
http://pecl.php.net/package/uploadprogress
Toto téma je uzamčeno. Odpověď nelze zaslat.