Avatar billede don_luca Nybegynder
04. maj 2006 - 18:18 Der er 6 kommentarer og
1 løsning

Løbende test på filstørrelse ved upload.

Hejsa
Kan det lade sig gøre at teste på filstørrelse mens en bruger uploader data? Jeg går ud fra at jeg i modtagende ende ikke modtager informationer fra afsenders maskine om hvor stor filen der er på vej er.

Hvis der er en løsning på dette problem kunne jeg godt bruge et eksempel på dette.
Avatar billede anderseiler Nybegynder
04. maj 2006 - 18:23 #1
Du kan gøre sådan her:

<?php
//Hvis der er blevet trykket "OPLOAD"
if (isset($_FILES['filnavn']) && !empty($_FILES['filnavn']['tmp_name']))
{
    //Flyt billedet til tempbib
    $tempfile = $_FILES['filnavn']['name'];
    $tempdestination = "tempbib/{$_FILES['filnavn']['name']} ";
    copy($_FILES['filnavn']['tmp_name'], $tempdestination);
   
    //Hent størrelsen på billedet i tempbib
    list($width, $height) = getimagesize("users/tempbib/{$_FILES['filnavn']['name']}");
    $filesize = filesize("users/tempbib/{$_FILES['filnavn']['name']}");
   
    //Hvis den er under 100 kb
    if($filesize < 250000)
    {    
        //Bagefter flyt tempbilledet fra tempbib til det rigtige bib
        $tempfile = $_FILES['filnavn']['name'];
        $destination = "rigtig_bib/{$_FILES['filnavn']['name']} ";
        copy($_FILES['filnavn']['tmp_name'], $destination);
        unlink("utempbib/{$_FILES['filnavn']['name']}");
    }
    else //Hvis oploadede billede er større end 100 kb
    {
        echo "<span class=\"error\">FEJL! Dit billede fylder mere end 250 kb!</span>";
        unlink("tempbib/{$_FILES['filnavn']['name']}");
    }

} elseif(isset($_POST['submit'])) { echo ""; } //Slut på "Opload"
?>

Når filen så er oploadet, så bliver den flyttet til et temp bib. Her checkes størrelsen. Er den for stor, bliver der givet en fejl, og filen slettes automatisk. Er størrelsen okay, bliver filen flyttet til det rigtige bib.

Det burde virke (:

Mvh
Anders (:
Avatar billede brunis Nybegynder
04. maj 2006 - 18:31 #2
Jeg tror det han gerne ville var at checke størrelsen INDEN der uploades!, så man kan afvise store filer

Dennis
Avatar billede anderseiler Nybegynder
04. maj 2006 - 18:32 #3
Så ved jeg ikke lige umiddelbart hvordan det skal gøres... (: Havde bare ovenstående liggende, så kunne jeg lige så godt poste (:
Avatar billede webstuff Nybegynder
04. maj 2006 - 19:43 #4
getimagesize() ???
Avatar billede don_luca Nybegynder
04. maj 2006 - 21:45 #5
hvordan tildeler jeg de points jeg har udlovet?
Jeg har fået svaret. nemlig at det ikke kan lade sig gøre ser det ud til. folk skal have lov til at overføre en fil i princippet vilkårlig størrelse. filstørrelsetesten kommer efter de har uploadet..
Avatar billede olebole Juniormester
05. maj 2006 - 01:30 #6
<ole>

I IE kan loade billedet og aflæse filstørrelsen:

var im = new Image();
im.onload = function() {
    alert(im.fileSize)
}
im.src = "billede.gif";

/mvh
</bole>
Avatar billede don_luca Nybegynder
19. december 2011 - 23:32 #7
prøver at tildele de points jeg har ude. Men hvordan pokker gør man?
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