Avatar billede javascript Nybegynder
19. oktober 2005 - 21:35 Der er 12 kommentarer og
2 løsninger

kun .JPG og .GIF filer og max fylde 50 kb!!

hvorfor ka nden godt uploade .exe filer og andre filer på over 50 kb??

hvor er fejlen man?

<?
if($_POST[upload]) {
$error = false;

$ext = strtolower(end(explode(".", $_FILES[billede][name])));

if($ext !== "jpeg" && $ext !== "jpg" && $ext !== "gif") {
    print "<script>alert('Du kan kun uploade .jpg og .gif billedere!'); </script> ";
    $error = true;
}

$maxstorrelse_kb = "50"; //i KB

$maxstorrelse_bytes = $maxstorrelse_kb*1024;

$billedestorrelse_bytes = $_FILES[billede][size];
$billedestorrelse_kb = $billedestorrelse_bytes / 1024;
$billedestorrelse_kb = round($billedestorrelse_kb);

if($billedestorrelse_bytes > $maxstorrelse_bytes) {

    if($billedestorrelse_kb == $maxstorrelse_kb) { }
    else {
        print "<script>alert('Dit billede fylder ".$billedestorrelse_kb."kb, men må højest fylde ".$maxstorrelse_kb."kb.');</script>";
        $error = true;
    }
}

if ($row[pb] != "intet" && !empty($row[pb]) && file_exists($row[pb]))
{
@unlink($row[pb]);
$error = true;
echo "<script>alert('du har allerede'); </script>";
} else {
$error = false;
}
if(!$error) {


$dir = "billeer/".$_FILES[billede][name];
if(move_uploaded_file($_FILES[billede][tmp_name],$dir)) {
mysql_query("UPDATE users SET pb = '$dir' where username = '$row[username]'");
print "<script>alert('roger');location.href='seprofil.php?name=$row[username]';</script> ";

}else{
print "<script>alert('Der er sket en fejl!'); </script> ";

}
}
}
?>
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:39 #1
File størrelsen kan du tjekke med denne funktion: filesize()
Og typen kan du finde med denne funktion: getimagesize()
Skriv hvis det ikke giver mening, og jeg skal prøve at implementer dem i dit script.
Avatar billede javascript Nybegynder
19. oktober 2005 - 21:40 #2
forstår dig ikke.. er ikke så go til PHP!!
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:47 #3
Jeg har lige læst dit script igennem, og det skulle faktisk virke fint nok!
Du tjekker fil endelsen, tjekker om størrelsen og flytter kun filen hvis ingen fejl findes.
Så det er mig også en gåde faktisk. :o(
Avatar billede hmortensen Nybegynder
19. oktober 2005 - 21:54 #4
Så vidt jeg lige kan se, må det være fordi $error bliver sat til false her:
if ($row[pb] != "intet" && !empty($row[pb]) && file_exists($row[pb]))
{
@unlink($row[pb]);
$error = true;
echo "<script>alert('du har allerede'); </script>";
} else {
$error = false;
}
Avatar billede showsource Seniormester
19. oktober 2005 - 21:55 #5
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:58 #6
hmortensen, nu læste jeg lige koden igennem og faldt over den samme øv! Slået på målstregen! :o(
Avatar billede hmortensen Nybegynder
19. oktober 2005 - 22:02 #7
jakobdo, troede ikke det her var et kapløb, men et spørgsmål om at hjælpe spørgeren ;)
Avatar billede javascript Nybegynder
19. oktober 2005 - 22:05 #8
hva skal der så står der??
Avatar billede jakobdo Ekspert
19. oktober 2005 - 22:05 #9
Et kapløb er måske så meget sagt, men når dit svar kommer mens jeg sidder og kigger på det, så er jeg da for langsom... Og ergo er du hurtigst!
Avatar billede jakobdo Ekspert
19. oktober 2005 - 22:07 #10
Fjern: else {
$error = false;
}
Avatar billede javascript Nybegynder
19. oktober 2005 - 22:10 #11
takker smid svar
Avatar billede jakobdo Ekspert
19. oktober 2005 - 22:12 #12
Det er hmortensen's!
Avatar billede hmortensen Nybegynder
20. oktober 2005 - 08:00 #13
Du kan give os 10 point hver.
Det her spørgsmål er bestemt ikke 200 værd :)
Avatar billede javascript Nybegynder
10. november 2005 - 13:35 #14
ok
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