Avatar billede d.kryger Praktikant
29. oktober 2009 - 14:13 Der er 7 kommentarer og
1 løsning

Validering af det som bliver uploadet

Hej eksperter.

Jeg har en side hvor man kan upload billeder og pdf-filer til mig. Filerne bliver lagt på min webside, når man submitter formen.

Men inden de bliver lagt op, vil jeg gerne have lave en validering af filerne, så jeg kan se om det er jpg og/eller pdf-filer, eller om man f.eks. har valgt en php-fil... Det skal ikke bare være et tjek om filnavnet slutter på jpg eller pdf, men også om filer er et billede eller en PDF-fil.

Kan nogen hjælpe mig?
Avatar billede showsource Seniormester
29. oktober 2009 - 14:35 #1
Du har jo $_FILES["dinfil"]["tmp_name"] men den er ldit usikker. ( browserbestemt )
Avatar billede d.kryger Praktikant
29. oktober 2009 - 14:40 #2
Ja, men hvordan gør jeg?
Avatar billede showsource Seniormester
29. oktober 2009 - 14:47 #3
Du prøver med så mange forskellige browsere som muligt at printe indholdet af $_FILES["dinfil"]["tmp_name"]

M.h.t. jpg billeder, er der jo også exif hvis serveren understøtter det.
Og ellers, så bruger jeg altid getimagesize() til at tjekke om det er et billede.
Avatar billede d.kryger Praktikant
29. oktober 2009 - 14:51 #4
Jeg havde også tænk på getimagesize, men hvad gør jeg ved PDF-filer?
Avatar billede showsource Seniormester
29. oktober 2009 - 15:49 #5
aner det ikke, udover at prøve med
$_FILES["dinfil"]["type"]

( og IKKE $_FILES["dinfil"]["tmp_name"] !!! )
Avatar billede public2 Nybegynder
30. oktober 2009 - 11:30 #6
Hej,

til billeder vil jeg også bruge en metode som "getimagesize" da den kun vil virke på billeder.

Til PDF'er, så kan du evt. bruge en metode som denne:

<?php

$pdf = 'the-uploaded-pdf-file.pdf';

$fp = @fopen($pdf, 'r') or die("Kan ikke aabne $pdf");

if(fgets($fp, 4) == '%PDF')
{
    // Det virker til at være en valid pdf
}
else
{
    // Det virker til ikke at være en valid pdf   
}
?>
Avatar billede d.kryger Praktikant
30. oktober 2009 - 14:14 #7
OK, tak for svarene. Vil I ikke ligge et svar begge to, så deler jeg point ud...
Avatar billede public2 Nybegynder
30. oktober 2009 - 15:36 #8
Jo det kan du tro, håber at det virker som det skal...

Go' weekend
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