Avatar billede eikhorsholm Nybegynder
21. juni 2007 - 23:39 Der er 14 kommentarer

Upload med procentbar.

Er det muligt, at få en processbar ved filupload i PHP, så en bruger kan se en indikator for at vedkommendes fil er igang med at blive uploadet?
Avatar billede yoka Nybegynder
22. juni 2007 - 06:32 #1
Jeg skulle lige til at spørge om det samme. Og ja det kan lade sig gøre... Har jeg fundet ud af igennem langtrukken google research.

Ved brug af AJAX og pearl, og en evt PECL extension.

Her er source, som dog kun fungerer med patchet php (og hvad er ideen så, med mindre man har sin egen server???) : http://bluga.net/projects/uploadProgressMeter/

Og her en der gør det med Pearl (som jo ofte køres med PHP):
http://tomas.epineer.se/archives/3

Ingen af disse eksempler kan jeg dog selv bruge, da mit webhotel jo selvfølgelig ikke kan patches og ej heller kan køre pearl.

Men så faldt jeg over en inder som tilsyneladende har gjordt det uden Pearl og Patch:

http://www.zareef.net/articles/how-to-create-a-file-upload-progress-bar-in-any-version-of-php.php

Han skriver dog uden at skrive en eneste linie kode. At han var i samme situation som mig (ikke kunne modificere server), og skrev et script der via AJAX læser størrelsen på upload "temporary folder" og dermed kan få live feedback. Det er jo meget smart, men for at kunne læse størrelsen på temp folderen skal man ændre den skriver han... Og han har lige sagt at han ikke havde nogle admin privilegier? Så her er jeg kommet til selv: hvordan ændrer man temporary upload folder? Kan man det på et webhotel? For så kan man jo i princippet nemt lave progress scriptet, hvis man på en måde også kan få filens størrelse inden den er færdig uploadet...
Avatar billede jensgram Nybegynder
22. juni 2007 - 09:06 #2
Avatar billede jensgram Nybegynder
22. juni 2007 - 09:07 #3
"Pearl (som jo ofte køres med PHP)" > Hvor tit er "ofte"? :P
Avatar billede thesurfer Nybegynder
22. juni 2007 - 10:31 #4
Hmm

- Aflæs størrelsen på filen der uploades, og gem det i en session, f.eks. med filnavnet som navn
- Med AJAX indlæses en PHP fil, der checker den nuværende størrelse
- Alternativ kan en loop i upload-scriptet gemme uploaded-størrelse i en session, som en anden php kan udskrive, når den bliver læst af AJAX
Avatar billede yoka Nybegynder
22. juni 2007 - 14:26 #5
Ups, mit indlæg var ment som kommentar og ikke et svar. Og angående ofte, ja det ved jeg heller ikke. Det er det jeg har fået af vide oftest er tilfældet, men på mit webhotel "concor", er det kun de dyreste pakker der har Pearl, så måske er det ikke så ofte igen.

Og til TheSurfer: ja, men hvordan gør man i praksis? Jeg ved ikke hvordan man kan checke en fil's størrelse inden den er uploadet, og hvilken "temporary" fil man skal tjecke størrelse på? Og hvordan man ændrer den temporary upload mappe?
Avatar billede majbom Novice
22. juni 2007 - 14:30 #6
der er masser af muligheder: http://www.google.dk/search?hl=da&q=upload+progress+php&meta=

f.eks. http://php5.bluga.net/UploadProgressMeter/demo.php - men det kræver at der bliver installeret noget på serveren.
Avatar billede yoka Nybegynder
22. juni 2007 - 14:39 #7
hej splazz.. det er jo alle ting der allerede er skrevet i denne tråd?
Avatar billede yoka Nybegynder
22. juni 2007 - 14:43 #8
og det er jo ikke 'masser' af muligheder. Jo hvis man har sin egen server ellers ikke. Jeg glæder mig selv til at php bliver opdateret så patchen er unødvendig, men indtil da er man lidt overladt til sine egne skills. Og der er efter 5-6 timer på google.
Avatar billede majbom Novice
22. juni 2007 - 15:11 #9
well, der er ikke rigtig andre muligheder end dem der er skrevet jo.

nej okay der er ikke masser af muligheder... sorry
Avatar billede thesurfer Nybegynder
22. juni 2007 - 16:44 #10
yoka> Man checker ikke størrelsen af en temporary fil..
Man checker længden af de data der modtages, via upload-scriptet der er lavet i PHP.

Man skal checke Content-parameteren (mener jeg) i headeren, som indeholder de data (der ligger i filen) der uploades..
Avatar billede eikhorsholm Nybegynder
22. juni 2007 - 21:46 #11
Jeg har egen server, hvis det ændrer noget?
Avatar billede majbom Novice
23. juni 2007 - 09:43 #12
det gør det bestemt, så er det ikke noget problem, så skal der bare installeres en patch...

tjek det link jeg postede tidligere
Avatar billede coderdk Praktikant
23. juni 2007 - 19:56 #13
Der er også andre muligheder: Java Upload-applets samt upload med flash. Det kræver intet installeret på serveren, men derimod på klienten.
Avatar billede majbom Novice
21. januar 2009 - 09:55 #14
eikhorsholm?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester