Avatar billede googolplex Novice
19. oktober 2003 - 21:55 Der er 11 kommentarer og
1 løsning

filesize - undren

I forbindelse med upload bruger de fleste (jeg har set):

$size = filesize($_FILES['upfile']['tpm_name']);

...til at finde filstoerrelsen.

Men hvorfor ikke bare bruge:

$size = $_FILES['upfile']['size'];

Er der en logisk forklaring ?!
Avatar billede detox Nybegynder
19. oktober 2003 - 22:25 #1
Den mest nærliggende forklaring er nok, at mange ikke kender de forskellige funktioner godt nok og så bruger man det man kender. Jeg ved ikke om den første metode af en eller anden grund ikke skulle være pålidelig nok, men i så fald ville man nok dobbelttjekke den med den anden metode?
Avatar billede amix Nybegynder
19. oktober 2003 - 22:29 #2
filesize() kan bruges i mange sammenhæng. F.eks. når du skal tjekke filstørellsen på en fil. Mens den anden kun kan bruges når browseren sender en fil (dvs. fil upload).
Avatar billede detox Nybegynder
19. oktober 2003 - 22:32 #3
Ja, nu er det jo netop i forbindelse med upload, der bliver spurgt til.
Avatar billede googolplex Novice
19. oktober 2003 - 22:41 #4
Men der er altså ingen logisk forklaring (I kender) på at folk bruger den første metode (filesize()) frem for den anden metode ($_FILES['upfile']['size']).

Jeg overvejede selv om løsningen kunne være, at ikke alle browsere sender alle $_FILES oplysninger ?
Avatar billede Slettet bruger
19. oktober 2003 - 22:49 #5
Browseren sender ikke noget om filstørrelsen, det er først når filen er uploadet at PHP kan læse dens størrelse.
Avatar billede detox Nybegynder
19. oktober 2003 - 22:49 #6
Ja, det kunne jo godt tænkes at være derfor. Så, det sikre er jo nok at vælge filesize(). Selvom jeg har svært ved at forestille mig, at der skulle findes så elndige browsere. Muligvis kan der osse gå andet galt undervejs?
Avatar billede detox Nybegynder
19. oktober 2003 - 22:50 #7
Tja, så røg den teori. ;o)
Avatar billede amix Nybegynder
19. oktober 2003 - 22:50 #8
>> Jeg overvejede selv om løsningen kunne være, at ikke alle browsere sender alle $_FILES oplysninger ?
Tror bare der er flere metoder man kan få filstørrelsen på. Den mest logiske i denne sammenhæng er $size = $_FILES['upfile']['size']; Da filesize() primært er lavet til at tjekke størrelsen på en fil som allerede er uploadet.
Avatar billede googolplex Novice
19. oktober 2003 - 22:54 #9
Hvis der er nogen der kan finde et sikkert svar (link), så kan I jo ligge det :)

Ellers kan dem der vil have point lægge et svar, så deler jeg point ud i morgen :-)
Avatar billede detox Nybegynder
19. oktober 2003 - 22:55 #10
Tja, der er jo temmelig meget cowboy-kode i omløb. Så...
Avatar billede googolplex Novice
19. oktober 2003 - 22:58 #11
Ja, men jeg har set den første løsning brugt rigtig mange steder (faktisk de fleste), så jeg tænkte at der nok var en logisk forklaring :)
Avatar billede amix Nybegynder
19. oktober 2003 - 23:05 #12
Det mener jeg ikke den er, men den kan sagtens bruges :) Jeg bruger selv altid den anden metode da den ligesom er lavet til det - - -
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