Avatar billede zib Nybegynder
14. oktober 2005 - 13:47 Der er 22 kommentarer og
1 løsning

avatar, hvordan?

hvordan laver jeg avarta på mit bruger system..?

man skal kunne

sætte maxs fil størrelse
og
når brugeren skifter til et nyt skal det gamle slettes


jeg vil meget gerne havde kode eksempler med forklaringerne
Avatar billede nizo Nybegynder
14. oktober 2005 - 13:59 #1
Du skal til at starte med ha et upload system til billederne.

Efter det kan du lave en if(getimagesize($_FILE['img']['tmp_name']) > 500) { echo "invalid image"; }
.. Noget i den stil

Jeg kan godt lave noget til dig hvis du vil?
Avatar billede zib Nybegynder
14. oktober 2005 - 14:10 #2
jo men det kan jeg jo ikke finde ud af...

kan du evt linke til en artikel
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:11 #3
Skulle lige læse paa det..

Jeg prøver lige at bixe noget sammen til dig.
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:21 #4
Det første vi gør er at lave en form hvorfra man skal uploade billedet.

<form action"action.php" method="post">
<input type="file" name="img">
</form>
Avatar billede zib Nybegynder
14. oktober 2005 - 14:25 #5
jeg har kigget lidt rund og fandt det her script

<?php
$extlimit = "ja";
$limitedext = array(".gif",".jpg",".png",".jpeg",".bmp");
$sizelimit = "ja";
$sizebytes = "15000";
$absolute_path = $sti."profilbillede";


if($submit=="Upload"){
  $dir = "dir";
if ($file != "") {
  $ext=strrchr($file_name,'.');
  $ext=strtolower($ext);

if (file_exists($absolute_path."/".$id."".$ext)) {
  die("Billedet eksisterer allerede");
}

if (($sizelimit == "ja") && ($file_size > $sizebytes)) {
  die("Billedet er for stort. Det må højest fylde 15 kb.");
}


if (($extlimit == "ja") && (!in_array($ext,$limitedext))) {
  die("Filen er en forkert filtype.");
}

@copy($file, $absolute_path."/".$id."".$ext) or die("Filen kunne ikke kopieres til serveren ".$absolute_path."/".$id."".$ext);

    #-+ Read the source image
    $src_img = ImageCreateFromJPEG($absolute_path."/".$id."".$ext);

    #Vælg bredden
    $tn_w = "160";

    #Hent billedets bredde og højde
    $imginfo = getimagesize($absolute_path."/".$id."".$ext);
    $org_w= $imginfo[0];
    $org_h = $imginfo[1];

    #Beregn højden i forhold til bredden
    $tn_h = floor($tn_w * $org_h / $org_w);
           
    #Sæt det nye billede
    $dst_img = imagecreatetruecolor($tn_w,$tn_h);
       
    #Ændre det!
    ImageCopyResized($dst_img, $src_img, 0, 0, 0, 0, $tn_w, $tn_h, $org_w, $org_h);
               
    #Gem det!
    ImageJPEG($dst_img, $absolute_path."/".$id."".$ext, "95");
   
    #slet "midlertidige" filer fra serveren.
    imagedestroy($dst_img);
} else {
  die("Husk at vælge et Billede");
}
echo "<p />";
echo $file_name." blev uploaded";
mysql_query("UPDATE users SET billede='".$id."".$ext."' WHERE id='$id'");
}
?>

<form method=POST action="index.php?upload" enctype=multipart/form-data>
<p>Vælg et Billed:<br>
<input type=file name=file size=30>
<p><button name=submit type=submit value=Upload>
Upload
</button>
</form>
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:32 #6
Kan du self. ogsaa bruge.. Men her kommer resten af mit.. Se lige om det ikke skulle virke ;)


I action.php:

<?
//navnet paa filen
$img=$_FILES['img']['tmp_name'];
//finder størrelsen af billedet
$size=getimagesize($img);
//tjekker om billedet er mindre end 10,000 bytes og 50x50 (widthxheight)
if(filesize($img) > 10000 || $size[0] > 50 || $size[1] > 50)
{
  echo "Invalid image! \nWidth:".$size[0]."\nHeigth:".$size[1]."\nBytes:".filesize($img);
}
else
{
  //uploader filen
  move_uploaded_file($img, "avatars/".$username);
  echo "Valid image.";
?>
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:34 #7
Hver gang en bruger oprette et nyt billede bliver det automatisk erstattet, fordi det har det samme navn som brugeren selv!

(husk at definer $username)


Haaber du kan bruge mit script..
Avatar billede zib Nybegynder
14. oktober 2005 - 14:36 #8
jeg prøver lige dit script
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:38 #9
Forresten! Jeg glemte at lukke else stringen med en }


Saa burde den være der:
<?
//navnet paa filen
$img=$_FILES['img']['tmp_name'];
//finder størrelsen af billedet
$size=getimagesize($img);
//tjekker om billedet er mindre end 10,000 bytes og 50x50 (widthxheight)
if(filesize($img) > 10000 || $size[0] > 50 || $size[1] > 50)
{
  echo "Invalid image! \nWidth:".$size[0]."\nHeigth:".$size[1]."\nBytes:".filesize($img);
}
else
{
  //uploader filen
  move_uploaded_file($img, "avatars/".$username);
  echo "Valid image.";
}
?>
Avatar billede zib Nybegynder
14. oktober 2005 - 14:46 #10
jegb har ikke prøvet det endnu men billed skal omdøbes til brugerens brugernavn

gør det det..?
Avatar billede nizo Nybegynder
14. oktober 2005 - 14:50 #11
Ja det gør den.


  move_uploaded_file($img, "avatars/".$username);

gemmer billedet i mappen "avatars" (som ville være en god idé at lave først) og kalder billedet brugerens navn.. Men som sagt, du skal huske at ha defineret variablen før det virker ;o)
Avatar billede nizo Nybegynder
14. oktober 2005 - 15:09 #12
Sig til hvis du støder på evt. problemer.
Avatar billede zib Nybegynder
14. oktober 2005 - 17:57 #13
det bliver først på mandag jeg kan svare har desværre ike tid mere
Avatar billede zib Nybegynder
15. oktober 2005 - 10:10 #14
jeg kan ikke få det til at upload noget billed


//navnet paa filen
$img=$_FILES['img']['tmp_name'];
//finder størrelsen af billedet
$size=getimagesize($img);
//tjekker om billedet er mindre end 10,000 bytes og 50x50 (widthxheight)
if(filesize($img) > 10000 || $size[0] > 50 || $size[1] > 50)
{
  echo "Invalid image! \nWidth:".$size[0]."\nHeigth:".$size[1]."\nBytes:".filesize($img);
}
else
{

  move_uploaded_file($img, "avatar/".".$_SESSION[user][username].");
  echo "Valid image.";

mysql_query("UPDATE cms_brugere set avatar = '".$_SESSION[user][username]."' WHERE brugernavn = '".$_SESSION[user][username]."'");
}
Avatar billede nizo Nybegynder
17. oktober 2005 - 13:21 #15
Min fejl :)

Formen skal se saadan her ud:
<form enctype="multipart/form-data" action"action.php" method="post">
<input type="file" name="img">
</form>
Avatar billede zib Nybegynder
17. oktober 2005 - 16:50 #16
det vikrker stadig ikke
Avatar billede zib Nybegynder
17. oktober 2005 - 16:55 #17
den upload ingen fil
Avatar billede zib Nybegynder
17. oktober 2005 - 17:20 #18
har fået det her til at virke
næsten da

den skiver ikke .jpg eller hvad type billed ny er men det bliver uploadet
og´så mangler der også så jeg kan bestemme fil størrelsen


$konf["dir"] = "./avatar"; // Upload dir
$brugernavn = "".$_SESSION[user][username]."";

if($_FILES["img"]["size"] > 0) // Er der en fil?

{

  $tmpname = $_FILES["img"]["tmp_name"]; // Hvor tmp filen ligger

  $newname = $konf["dir"] . "/" . $brugernavn; // Hvor skal den hen

  move_uploaded_file($tmpname, $newname); // Flyt filen...
}
Avatar billede nizo Nybegynder
18. oktober 2005 - 22:07 #19
if(filesize($img) > 10000 || $size[0] > 50 || $size[1] > 50)
Avatar billede zib Nybegynder
19. oktober 2005 - 17:42 #20
har leget lidt med det



$konf["dir"] = "./avatar"; // Upload dir
$max_size = 200; // Kb
$max_heigth = 200; // Pixels
$max_width = 200; // Pixels
$brugernavn = "".$_SESSION[user][username]."";

if($_FILES["img"]["size"] > 0) // Er der en fil?

{
   
    $tmpname = $_FILES["img"]["tmp_name"]; // Hvor tmp filen ligger
    $extension = end(explode(".", $_FILES['img']['tmp_name'])); // Filtype
    $newname = $konf["dir"] . "/" . $brugernavn . "." . $extension; // Hvor skal den hen
    list($width, $heigth) = getimagesize($_FILES['img']['tmp_name']); // Højde/bredde
       
    if(($_FILES['img']['size'] <= $max_size) && ($heigth <= $max_height) && ($width <= $max_width)) { // Størrelse, højde, bredde
        if(eregi("jpg|gif|png|", $extension)) { // Checker for gængse billedformater - tilpas selv
            move_uploaded_file($tmpname, $newname); // Flyt filen...   
mysql_query("UPDATE cms_brugere set avatar = '".$_SESSION[user][username]."' WHERE brugernavn = '$newname'");
            } else {
            echo "Filen er ikke et billede";
            }
        } else {
        echo "Filen overstiger tilladte dimensioner";
        }
}


men det virker ikke
Avatar billede zib Nybegynder
19. oktober 2005 - 18:41 #21
der er også noget galdt med
$extension funktion den skriver nemlig /usr/export/tmp/phpkZYY83 i stedet for .filtype
Avatar billede zib Nybegynder
22. oktober 2005 - 08:03 #22
lukker
Avatar billede zib Nybegynder
22. oktober 2005 - 08:04 #23
kan ikke få det til at virke... men tak for hjælpen
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