Avatar billede drockles Nybegynder
13. januar 2006 - 15:24 Der er 12 kommentarer og
1 løsning

rename billede og overskriv

hej eksperter

jeg er ved at lave et profilsystem til et fodboldholdshjemmeside.. her skal man hver især have mulighed for at uploade et profilbillede.
billedet de uploader skal renames og overskrive det eksisterende billede(hvis der er et)

jeg har upload funktionen. nu mangler jeg bare rename og overskriv funktion...
Avatar billede hmortensen Nybegynder
13. januar 2006 - 15:30 #1
En mulighed, hvor filen slettes hvis den findes:

if(file_exists($ny))
  unlink($ny);
rename($gammel, $ny);
Avatar billede drockles Nybegynder
13. januar 2006 - 15:33 #2
ok. hvordan bestemmer jeg $gammel og $ny ?
Avatar billede drockles Nybegynder
13. januar 2006 - 15:34 #3
$ny er vel bare det som billedet skal hedde ikke?
Avatar billede hmortensen Nybegynder
13. januar 2006 - 15:35 #4
Jo, og gammel er navnet på filen som lige er uploadet.
Avatar billede drockles Nybegynder
13. januar 2006 - 15:37 #5
ja.. men hvordan bestemmer man det?
jeg kan ikke se hvordan jeg skal sætte den ind i min upload kode... måske du kan hjælpe.



<body bgcolor="#669999">

<p align="center">Upload et profilbillede</p>
<FORM METHOD=POST ACTION="" enctype="multipart/form-data">
<p align="center">
<INPUT TYPE="file" NAME="billede">
<INPUT TYPE="Submit" NAME="" Value="Upload">
</p>
</form>

<?php

//Den maksimale størrelse det uploadet billede må have, angivet i kb fx 5000 kb
$konfiguration["MAX_SIZE"] = 500000;

//Den sti der er til mappen hvor billederne skal ligge   
$konfiguration["upload_dir"] = "billeder";


//her sættes thumb billedes brede.
$maxsize = 50;

//Den aktuelle størrelse på det uploadet billede
$size_kb = $_FILES["billede"]["size"] / 1024;

//tjekker om eksistere altså om det er over 1 kb og om det fylder mindre end max
if ($size_kb > 1 && $size_kb <= $konfiguration["MAX_SIZE"]) {

//den placering som billede skal flyttes fra

$from = $_FILES["billede"]["tmp_name"]; #Billede fra temp fil som skal flyttes

//Den placeing som det skal uploades til. $_FILES["billede"]["name"] er navnet på
//Billede, fx. image1.jpg
$to = $konfiguration["upload_dir"]."/".$_FILES["billede"]["name"];       

  //her uploades billede og hvis det lykkes er if funktionen sand   
  if(move_uploaded_file($from, $to)){
    echo    "Billede er nu uploadet: ".$_FILES["billede".$i]["name"]."<br>";
   
//her tjekkes det om det uploadet billede har en større brede en thumb billede brede
if(imagesx(ImageCreateFromJpeg($to)) > $maxsize){
    $size = $maxsize;  //bredden på thumb
    $sourcefile = $to; //stien til thumb
    $name = "thumb_".$_FILES["billede".$i]["name"]; //navnet på thumb billede
    $thumbsize["width"] = $size; //thumb bredde
    $im = ImageCreateFromJpeg($sourcefile);
    $delta = $thumbsize["width"]/imagesx($im);//Finder forminskings forholdet
    $thumbsize["height"] = round(imagesy($im)*$delta); //forminsker i forhold
   
        //stien med navnet af thumb
        $thumbpath = $konfiguration["upload_dir"]."/".$name;   
       
        //her generes thumb billede.
        $target_id = imagecreatetruecolor($thumbsize["width"], $thumbsize["height"]);
        imagecopyresampled($target_id,$im,0,0,0,0,$thumbsize["width"],$thumbsize["height"],imagesx($im),imagesy($im));                            imageJPEG($target_id, $thumbpath);
   

        echo "<B><U>susses</U></B>";
  }
}
}
?>
Avatar billede drockles Nybegynder
13. januar 2006 - 15:42 #6
hov.. er det her ikke en renamefunktion?

//Den placeing som det skal uploades til. $_FILES["billede"]["name"] er navnet på
//Billede, fx. image1.jpg
$to = $konfiguration["upload_dir"]."/".$_FILES["billede"]["name"];
Avatar billede hmortensen Nybegynder
13. januar 2006 - 15:48 #7
Jo, det kan du også bruge, men du skal stadig slette det billede der ligger i forvejen som vist øverst.
Avatar billede showsource Seniormester
13. januar 2006 - 15:49 #8
$_FILES["billede"]["name"]
er jo navnet på den fil som brugeren vil uploade.
Men for ikke at overskrive andre brugeres billede, bør du enten bruge brugernavnet eller andet som er unikt for den enkelte bruger, id f.eks. hvis du har det i din db

Og
echo    "Billede er nu uploadet: ".$_FILES["billede".$i]["name"]
er vist ikke gangbar. Hvad er $i ???
Avatar billede showsource Seniormester
13. januar 2006 - 15:50 #9
Og sletning?
Når billedet uploades, vil det jo overskrive det eksisterende, hvis der findes et med samme navn
Avatar billede drockles Nybegynder
13. januar 2006 - 15:58 #10
ok jeg vidste ikke det automatisk ville overskrive det gamle. var lidt bange for at den ville gå i stå i stedet..

jeg kan desværre ikke uddybe de enkelte ting i scriptet da det er et jeg har fundet her på eksperten.. men det virker
Avatar billede drockles Nybegynder
13. januar 2006 - 22:46 #11
kommer i med nogle svar?
Avatar billede showsource Seniormester
15. januar 2006 - 16:56 #12
synes ik' jeg fortjener!
Avatar billede drockles Nybegynder
16. januar 2006 - 09:40 #13
fair :-)
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