upload fil MAX_FILE_SIZE

Tags:    php html

Jeg har noget kode hvor bruger kan uploade en fil i stil med dette...

Fold kodeboks ind/udPHP kode 


Men hvis brugeren vælger at uploader en større fil end hvad der er tilladt så er det jo "dumt" at hele filen skal sendes for der efter at fortælle brugeren at filen er for stor.

Derfor vil jeg bruge <input type="hidden" name="MAX_FILE_SIZE" value="2097151"> sådan at hvis brugeren forsøger at uploade en for stor fil så får brugeren besked med det samme i stedet for at man skal vente på at filen uploades til serveren.

Man jeg kan ikke finde ud af at bruge MAX_FILE_SIZE rigtigt syns jeg.

Er der nogen der kan give et eksempel på hvordan det fungere ?





Indlæg senest redigeret d. 12.10.2011 05:34 af Bruger #13010
4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
MAX_FILE_SIZE er bare noget data der bliver sendt med til din server som alt andet data i en <form>.

Den kan vist lade sig gøre at finde størrelsen med det nye File API i html5, men det virker kun i firefox 3+ og chrome 6+.



Indlæg senest redigeret d. 12.10.2011 07:38 af Bruger #3275
Ja men i PHP returner $_FILES["filsomskaluploades"]["error"] værdien 2 når filen man forsøger at uploade er større end MAX_FILE_SIZE.

Det smarte ved det er at så behøver filen ikke at blive uploadet til serveren for så først derefter at finde ud af at filen er for stor.

Altså brugeren skal ikke sidde og vente 2 minutter bare for at få afvide at filen er for stor.

Det ligesom hvis man vil kopier en 10 GB fil over på en CD hvor der kun er plads til 800 MB. Så vil jeg jo gerne have afvide med det samme at der ikke er plads i stedet for at jeg skal venter på at de 10 GB data bliver flyttet også først derefter får jeg besked på at der ikke er plads.



Indlæg senest redigeret d. 12.10.2011 22:23 af Bruger #13010
Ja men i PHP returner $_FILES["filsomskaluploades"]["error"] værdien 2 når filen man forsøger at uploade er større end MAX_FILE_SIZE.

Jep det er jeg klar over, men det er kun noget PHP gør, der er ikke support for det i browseren. Så enten kan du bruge javascript til at tjekke det, men det virker ikke i særligt mange browsere, eller også kan du bruge Flash til at uploade filer med.





Hvad nu hvis jeg som clienten bare går ind og ændre html'en og uploader 10gb? Så har du måske et problem :).



t