Avatar billede sungdk Nybegynder
16. juni 2004 - 12:15 Der er 8 kommentarer og
1 løsning

Tjek filtype

Hej X-perter

Her er et stykke af min kildekode:

$billedenr = "billede$_GET[billede]";
$src = $_FILES['fil']['tmp_name'];
$name = $_FILES['fil']['name'];
$type = $_FILES['fil']['type'];
$size = getimagesize($src);

if ($type == "image/gif" || $type == "image/bmp") {
echo "<b>FEJL!</b><br><br>Du kan kun uploade .jpg/.jpeg/.png filer</b><br><br>$type";
exit;
} else if ($size[0] > "1200" || $size[1] > "1200") {
echo "<b>FEJL!</b><br><br>Dit billede må ikke være større end 1200pixels i bredden/højden når du uploader</b><br><br>";
exit;

Som du kan se tjekker jeg for nogle fejl. MEN! Jeg synes at fil-type-tjekkeren er let at undgå.

Fx. hvis jeg har en .jpg fil, og ændrer navnet til .gif i windows. Så laver den kludder.

Nogle som har en god løsning her?

Tak
Avatar billede taskmgr Nybegynder
16. juni 2004 - 12:19 #1
Du ka evt. bruge:

$pathinfo = pathinfo($_FILES['fil']['name']);
$ext = $pathinfo['extension'];

Så har du fil-endelsen i $ext, og kan tjekke den i din if.
Avatar billede dennismp Nybegynder
16. juni 2004 - 12:20 #2
Du kan bruge getimagesize(), hvor gd kigger på selve filen for at se hvilken filtype det er..
Avatar billede taskmgr Nybegynder
16. juni 2004 - 12:21 #3
Jeg beklager, havde misforstået spm...
Avatar billede acid-head Nybegynder
16. juni 2004 - 13:50 #4
$info = getimagesize($billede);
$type = $info[2];

$type kommer så til at indeholde et tal.

1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF, 8 = TIFF, 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM.
Avatar billede acid-head Nybegynder
16. juni 2004 - 20:58 #5
Hvilken version af GD bruger du..?
Jeg har nemlig gang i et lignende script, men min kan godt finde ud af det, hvis man ændre navnet fra billede.gif til billede.jpg..

Jeg bruger version 2.0.12..
Avatar billede dennismp Nybegynder
16. juni 2004 - 21:03 #6
Skal vi ikke vente og se _labisama_ har problemer før vi forsætter?
Avatar billede acid-head Nybegynder
17. juni 2004 - 04:05 #7
Det passer heller ikke, det jeg skrev med at version 2.0.12 kunne finde ud af det..

Jeg rodede videre med det, og fandt ud af den fil jeg testede med faktisk oprindeligt var en jpg-fil, som havde en gif-endelse :)
Avatar billede sungdk Nybegynder
20. juni 2004 - 23:06 #8
Har brugt acid-head's, og virker bedre end før :D

Tak! Svar!
Avatar billede acid-head Nybegynder
24. juni 2004 - 13:30 #9
Okay.. :)
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