Avatar billede supermand69 Nybegynder
15. februar 2003 - 17:23 Der er 24 kommentarer og
1 løsning

move_uploaded_file()

Hey...

Er der nogen som kan hjælpe mig med move_uploaded_file()??

Hvordan kan man lave et script der kan tjekke om filen ikke er for stor, det er den rigtige filtype og om billed dimensionerne ikke bliver overskredet??
Avatar billede ahv Nybegynder
15. februar 2003 - 17:28 #1
Avatar billede supermand69 Nybegynder
15. februar 2003 - 17:30 #2
ahy >>
er der ikke en bedre måde at tjekke filtype end med eregi???
Avatar billede ahv Nybegynder
15. februar 2003 - 17:36 #3
tjek billede dimensioner:

$billede = GetImageSize("$_FILES['upfil']['tmp_name']");
//returnere et array med 4 elementer:
//0) width i pixels
//1) height i pixels
//2) type: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
//3) width og height til brug direkte i html

if($billede[0] > 400)
{
echo "billedet er for bredt";
exit;
}
if($billede[1] > 400)
{
echo "billedet er for højt";
exit;
}

Tjek filtype:

if(if($billede[2] != 2)
{
echo "Kun jpg";
exit;
}

Tjek filstørrelse:

$max = "100";
$fra = $_FILES['upfil']['tmp_name'];
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $max)
{
echo "Det billede du prøver at uploade fylder for <b>meget</b> - max 100 kb";
exit;
}


det her er utestet, men burde virke.
Avatar billede ahv Nybegynder
15. februar 2003 - 17:37 #4
Tjek filtype, laved en fejl:

if($billede[2] != 2)
{
echo "Kun jpg";
exit;
}
Avatar billede supermand69 Nybegynder
15. februar 2003 - 17:59 #5
hvordan ser formen så ud??
Avatar billede ahv Nybegynder
15. februar 2003 - 18:01 #6
<form action="tjek.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfil">
<input type="submit" value="upload">
</form>
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:02 #7
skal enctype="multipart/form-data" med for det virker??
Avatar billede ahv Nybegynder
15. februar 2003 - 18:04 #8
Jep.
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:08 #9
Warning: getimagesize: Unable to open 'Array' for reading

    if($pic = getimagesize($_FILES[pic]))
    {
        echo filesize($pic);
    }
Avatar billede ahv Nybegynder
15. februar 2003 - 18:10 #10
Hvad er det du prøver på der?
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:11 #11
jeg vil bare se om filen bliver uploaded, og hvis den gør - at den så udskriver filstørrelsen
Avatar billede ahv Nybegynder
15. februar 2003 - 18:14 #12
det der har ikke noget med om den bliver uploadet eller ej at gøre
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:15 #13
den ser da om $_FILES[pic] er noget???
Avatar billede ahv Nybegynder
15. februar 2003 - 18:19 #14
men du siger

hvis $pic er det samme som array <- du definer ikke hvilken en af tingene fra arrayet du vil have ud.

og hvor for du variablen $pic fra ?
Avatar billede ahv Nybegynder
15. februar 2003 - 18:19 #15
Har du evt. msn eller icq?

ICQ: 82550004
MSN: alexander_hv@hotmail.com
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:20 #16
Hvis man vil sammenligne to ting bruger man ==
$pic laver jeg jo i if-statementen...

men det er måske ikke rigtigt?
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:22 #17
sådan her virker det heller ikke

    if($_FILES[pic])
    {
        $pic = getimagesize($_FILES[pic]);
        echo $pic[0];
    }
Avatar billede ahv Nybegynder
15. februar 2003 - 18:24 #18
:) så lige forkert på din kode.

Du skal ikke echo $pic den indeholder jo arrayet med:

0) width i pixels
1) height i pixels
2) type: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
3) width og height til brug direkte i html

Du skal derimod sige:

if($pic = getimagesize($_FILES[pic]))
    {
        echo filesize($_FILES[pic]);
    }
Avatar billede ahv Nybegynder
15. februar 2003 - 18:25 #19
Hvis du kører med den form jeg postede så prøv lige dette:

if($pic = getimagesize($_FILES['upfil']['tmp_name']))
    {
        echo filesize($_FILES['upfil']['tmp_name']);
    }
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:26 #20
det vil sige hvis jeg vil have en af de ovenstående variabler ud skal jeg gøre sådan:
$_FILES[pic][2]
Avatar billede ahv Nybegynder
15. februar 2003 - 18:27 #21
nej $pic[2]
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:27 #22
Men jeg får stadig den samme fejl... det er som om filen ikke bliver uploadet!!
Avatar billede ahv Nybegynder
15. februar 2003 - 18:28 #23
Kan jeg se hele din kode en gang?
Avatar billede supermand69 Nybegynder
15. februar 2003 - 18:34 #24
<form method="post" enctype="multipart/form-data">
<input type="file" name="pic">
<input type="submit">
</form>

if($pic = getimagesize($_FILES[pic])) echo $_FILES[pic][0];
Avatar billede ahv Nybegynder
15. februar 2003 - 18:37 #25
<form method="post" action="red2.php" enctype="multipart/form-data">
<input type="file" name="pic">
<input type="submit" value="submit">
</form>

<?php

if($pic = getimagesize($_FILES['pic']['tmp_name']))
{
echo filesize($_FILES['pic']['tmp_name']);
}

?>
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