AnalyzerHQ Fórum

 

Szerző Téma: Progress bar fájlfeltöltéshez?  (Megtekintve 3245 alkalommal)

0 Felhasználó és 1 vendég van a témában

2010. március 9. - 09:48:35
  • Kölyök tag
  • **
  • Hozzászólások: 21
  • Karma: 2

Fájlfeltöltéshez szeretnék progress bart. Szóval, lehetséges egyszerű módon megoldani, hogy ha van egy formom, amiben fájlokat tölthetnek fel, akkor a feltöltőnek mutassa a feltöltés állapotát? Nem kell folyamatosan, de mondjuk 5-10 másodpercenként frissítve. Nem találok erről semmit.


2010. március 9. - 21:52:07
Válasz #1
  • MadAdmin
  • Teljes tag
  • ***
  • Hozzászólások: 104
  • Karma: 6
    • MadAdmin.com

Ha a szerver 5.2.x verzió fölötti, és van APC támogatás benne, akkor elvileg nem túl vészes egy ajaxos modult írni a form mellé, ami mutatja a feltöltés állapotát.

Itt nézhetsz körül ezügyben, ha a szerver oldali támogatás adott:

http://www.php.net/manual/en/apc.configuration.php#ini.apc.rfc1867

Ha nem annyira a szolgáltatási szint emelése a cél, hanem csak design, akkor szerintem nem éri meg a plusz melót. Szerveren is több kiszolgálót eszik ezzel egy-egy kliens, programozni is kell, tényleg nem biztos, hogy megéri.

Használj kamu progress bart. Valami animált gifet, amit javascriptből dobsz fel egy felső rétegben középre. A windows is ilyesmit használ töltödéskor, megy balról jobbra, majd jobbról balra, a betöltődés meg tart amíg tart. Az embereket meg megnyugtatja, ha valami "mozog". :)


2010. március 11. - 09:12:23
Válasz #2
  • Kölyök tag
  • **
  • Hozzászólások: 21
  • Karma: 2

Nincs egy ilyen fake progressbaros scripted véletlenül?


2010. március 12. - 08:37:14
Válasz #3
  • MadAdmin
  • Teljes tag
  • ***
  • Hozzászólások: 104
  • Karma: 6
    • MadAdmin.com

Egy lehetséges fake progressbar megoldás, parancsolj.

A HTML rész egyszerű, van egy onsubmit a formon, meg egy rejtett div, amiben a progressbar anim gif van.

...
<form method="post" enctype="multipart/form-data" action="/" onsubmit="return checkform(this)">
...
<div id="pbar" style="display:none"><img src="/images/progressbar.gif" alt="Uploading..."/></div>
...

Javascriptben nincs semmi extra, a fölöslegesnek tűnő IE ellenőrzés azért van, mert az anim gif animációja enélkül IE 6,7,8 alatt megállna a submit után, gyak. az első framenél.

// Fake Progressbar

function checkform(formid) {
//
// ide tedd a form ellenőrzését, submit gomb letiltását, stb..
//
  var progressbar = document.getElementById('pbar');
  if (navigator.appName == "Microsoft Internet Explorer") {
    progressbar.innerHTML = '';
    progressbar.style.display = 'block';
    progressbar.innerHTML = '<img src="/images/progressbar.gif" alt="Uploading..."/>';
  } else {
    progressbar.style.display = 'block';
  }
  return true;
}

IE, Chrome, FF böngészőkkel működik.

Hmmm... azért más is válaszolhat ilyen kérdésekre... :) Tuti vannak nálam jobbak...


2010. március 12. - 12:53:23
Válasz #4
  • Kölyök tag
  • **
  • Hozzászólások: 21
  • Karma: 2

Ez elég jó, már csak egy ilyen animált GIF kellene hozzá. :)