Avatar billede michaeltryl Seniormester
03. oktober 2006 - 20:03 Der er 11 kommentarer og
2 løsninger

upload profil billede

jeg sidder og er ved at lave et bruger system og vil høre lidt om hvordan man laver en funktion til at uploade profil billede
kan man uplade til mysql database eller skal de lægges i en mappe.
er der evt. et sted jeg kan læse onoget om hvordan sådan et scrip laves
Avatar billede coderdk Praktikant
03. oktober 2006 - 20:15 #1
Du kan gøre begge dele - Det er et spørgsmål om hvad du vil - Hvis du vælger at gemme det i en database skal du have et script til at hive billedet ud og skrive content-type headere osv.
Det nemmeste er at gemme på disken og gemme en sti i databasen :)
Avatar billede michaeltryl Seniormester
03. oktober 2006 - 21:22 #2
jeg har aldrig prøvet dette så en artikel/tutorial (gerne på dansk) om det vill være rigtig godt
Avatar billede yHec Novice
03. oktober 2006 - 21:50 #3
Avatar billede michaeltryl Seniormester
03. oktober 2006 - 22:33 #4
jeg synes ikke lige det hjælper mig videre, jeg har prøvet at søge på google men synes ikke lige jeg finder det jeg søger
Avatar billede yHec Novice
03. oktober 2006 - 23:01 #5
Prøv det her! Det uploader! Så er det bare at lave en database, med et felt til billednavm (med eller uden sti), køre en insert, et voila et fixt og fint script!

<?php
if($_FILES['userfile']['name']!=""){
    $uploaddir = 'imgs/';
    $uploadfile = $uploaddir . $_FILES['userfile']['name'];
    print "<pre>";
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
          print "File is valid, and was successfully uploaded. ";
          print "Here's some more debugging info:\n";
          print_r($_FILES);
}    
    else {
          print "Possible file upload attack!  Here's some debugging info:\n";
          print_r($_FILES);
}
print "</pre>";
}
?>
<html>
<head>
<title>UPLOAD</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
  <input type="file" name="userfile">
  <input type="submit" name="Submit" value="Submit">
</form>
<br>
<img src="<?php echo $uploaddir.$_FILES['userfile']['name'];?>"></body>
</html>

/y
Avatar billede michaeltryl Seniormester
03. oktober 2006 - 23:09 #6
okay jeg prøver det imorgen
er det korrekt at denne linie fortæller at filen skal ligges i mappen imgs
$uploaddir = 'imgs/';
så hvis min hjemmeside er www.test.dk er url til billedet www.test.dk/imgs/billede.jpg

jeg kan ikke lige se om dette script tjekker for filtype eller om det er alle filtyper der kan uploades.

Er det muligt at gøre sådan at billederne kun må være f.eks 50X50 eller er det besværligt at tjekke for?
Avatar billede coderdk Praktikant
03. oktober 2006 - 23:25 #7
Ja, du kan rette:

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
          print "File is valid, and was successfully uploaded. ";
          print "Here's some more debugging info:\n";
          print_r($_FILES);
}   

til:

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
          if ( list( $width, $height, $type, $attr ) = getimagesize( $uploadfile ) )
          {
            if ( $width != 50 || $width != 50 )
            {
                unlink( $uploadfile );
                die( "Billedet skal være 50x50" );
            }
            else
            {
                print "File is valid, and was successfully uploaded. ";
                print "Here's some more debugging info:\n";
                print_r($_FILES);
            }
          }
          else
          {
            unlink( $uploadfile );
            die( "Kun billeder!" );
          }
      }
Avatar billede michaeltryl Seniormester
04. oktober 2006 - 00:05 #8
det virker jo fantastisk så vil godt give jer begge point hvis i kommer med et svar
Avatar billede coderdk Praktikant
04. oktober 2006 - 09:32 #9
Ok :)
Avatar billede yHec Novice
04. oktober 2006 - 12:29 #10
;-)
Avatar billede michaeltryl Seniormester
04. oktober 2006 - 13:59 #11
lige et lille tillægsspørgsmål
hvor i scriptet er det der står at det kun er billedfiler der må uplodes?
Avatar billede coderdk Praktikant
04. oktober 2006 - 14:42 #12
if ( list( $width, $height, $type, $attr ) = getimagesize( $uploadfile ) )

hvis den er sand er det et billede - ellers er det ikke (eller også kan PHP ikke finde ud af at læse billedet)
Avatar billede michaeltryl Seniormester
04. oktober 2006 - 14:50 #13
okay smart
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