Avatar billede crabber Nybegynder
06. august 2007 - 12:04 Der er 12 kommentarer og
1 løsning

Slette billede og uploade nyt?

Jeg er ved at lave en rediger side hvor jeg gerne vil vil have at man skal kunne redigere et billede.

Det vil sige at hvis man i input file feltet sætter et nyt billede skal den slette den gamle eksisterne billede og upload det nye valgte.

Hvordan laver jeg denne nemmeste?

Casper
Avatar billede cbdavl Nybegynder
06. august 2007 - 12:15 #1
Hvordan linker du brugeren sammen med det allerede uploadede billed? En database, Cookies, hvordan?
Avatar billede crabber Nybegynder
06. august 2007 - 12:54 #2
Det nuværenden billede sti bliver trykket ud fra min database.
Avatar billede olebole Juniormester
06. august 2007 - 13:30 #3
<ole>

Ja, men der må være en måde, du finder ud af, om den pågældende bruger må overskrive det pågældende billede  ;o)

/mvh
</bole>
Avatar billede crabber Nybegynder
06. august 2007 - 13:42 #4
Der er kun en administrations bruger og han må rette alt!
Så jeg skal bare have fundet en måde hvor på at billede som er på servern bliver slettet og den nye billede sat ind ved tryk på en submit.
Avatar billede mcardle Nybegynder
06. august 2007 - 14:53 #5
Det kunne være noget á la det her.:

Din upload form:

<form action="actions.php?id='1'" method="POST" enctype="multipart/form-data">
    <span>Dit billede:</span><br />
    <input type="file" name="userfile" />
</form>

_____________________________________________________________

actions.php:

<?php

$userfile_name = $_FILES["userfile"]["name"];
$userfile_tmp_name = $_FILES["userfile"]["tmp_name"];
$userfile_type = $_FILES["userfile"]["type"];
$userfile_size = $_FILES["userfile"]["size"];

$upload_dir = "upload/images/" . $userfile_name;

if(isset($_POST["id"]) && $_POST["id"] == 1){
    $getPicture = mysql_query("SELECT * FROM table") or die(mysql_error());
    $showPicture = mysql_fetch_array($getPicture);
   
    if($showPicture["billede"] != ""){
        $delete = unlink($showPicture["billede"]);
        if($delete){
            echo "Dit gamle billede er nu slettet.<br />\n";
        }
    }
    if(move_uploaded_file($userfile_tmp_name, $new_dir)){
        $update = mysql_query("UPDATE table SET billede='$upload_dir' WHERE billede='$showPicture[billede]'");
        if($update){
            echo "Dit nye billede er nu uploadet.";
        }
    }
}

?>

Scriptet er dog ikke testet, men skriv hvis det ikke virker, så finder vi ud af det.
Avatar billede mcardle Nybegynder
06. august 2007 - 14:55 #6
How, der var den første fejl.

if(isset($_POST["id"]) && $_POST["id"] == 1){

Skal være:

if(isset($_GET["id"]) && $_GET["id"] == 1){
Avatar billede jakobdo Ekspert
06. august 2007 - 17:27 #7
Et eller andet sted, så er det jo "bare" at lave en upload formular som beskrevet i denne artikel: http://www.eksperten.dk/artikler/1098
Der er vel ingen grund til at rette i en database, man kan jo bare overskrive den gamle fil.
Det kunne gøres ved at rette koden:
if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . 'billede.jpg'))

Så vil billedet altid hedde: billede.jpg
Avatar billede crabber Nybegynder
08. august 2007 - 08:16 #8
jamen det går ikke for der ligge flere billeder i samme mappe og de må jo ikke hedde det samme.
Avatar billede jakobdo Ekspert
08. august 2007 - 08:48 #9
Så kunne du bruge brugerens brugernavn og kalde billederne: brugernavn.jpg
Avatar billede crabber Nybegynder
08. august 2007 - 09:54 #10
Jeg fik det til at virke.. mange tak.. Smid et svar
Avatar billede jakobdo Ekspert
08. august 2007 - 09:58 #11
Hvem er den skyldige?
Avatar billede crabber Nybegynder
08. august 2007 - 10:33 #12
mcardle skal have pointene
Avatar billede mcardle Nybegynder
08. august 2007 - 16:22 #13
Tak, tak...
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