Avatar billede mike2002 Nybegynder
15. juni 2007 - 09:48 Der er 4 kommentarer og
1 løsning

Gemme fil i mappe - efter id?=2

Jeg har nu siddet og puslet lidt med et hjemmelavet cms lavet i Dreamweaver MX 2004, og har nu følgende problem. Redigeringssiden (edit.php) har mulighed for at uploade billeder, og disse billeder vil jeg gerne have gemt i forskellige mapper og mysql tabeller alt efter hvilken id den pågældende side har. Jeg har fået siden til at gemme i de rigtige tabeller, men billederne uploades alle til den samme mappe (en mappe som siden selv har oprettet og givet navnet '1'). Jeg kan simpelthen ikke se, hvad der er galt - hjælp! Upload-kode:
<?php

if ($row_rsIndhold['id'] == "1") {
    $pics_folder = 'Drikkevarer' && $pics_tbl= 'billeder_drikkevarer';
    }
   
if ($row_rsIndhold['id'] == "2") {
    $pics_folder = 'Billeder' && $pics_tbl= 'billeder_billeder';
    }

if ($row_rsIndhold['id'] == "3") {
    $pics_folder = 'Events' && $pics_tbl= 'billeder_events';
    }

if ($row_rsIndhold['id'] == "4") {
    $pics_folder = 'Musik' && $pics_tbl= 'billeder_musik';
    }

if ($row_rsIndhold['id'] == "5") {
    $pics_folder = 'Quiz' && $pics_tbl= 'billeder_quiz';
    }

if ($row_rsIndhold['id'] == "6") {
    $pics_folder = 'Links' && $pics_tbl= 'billeder_links';
    }

if ($row_rsIndhold['id'] == "7") {
    $pics_folder = 'Kontakt' && $pics_tbl= 'billeder_kontakt';
    }

if ($row_rsIndhold['id'] == "8") {
    $pics_folder = 'Klippekort' && $pics_tbl= 'billeder_klippekort';
    }

if ($row_rsIndhold['id'] == "9") {
    $pics_folder = 'Afstemning' && $pics_tbl= 'billeder_afstemning';
    }
               
$respons = '';

//Is the Submit button pushed?
if(isset($_POST['Submit']))
{
    //check that we have a file
    if((!empty($_FILES["filnavn"])) && ($_FILES['filnavn']['error'] == 0))
    {
        //Check if the file is JPEG image and it's size is less than 350Kb
        $filename = basename($_FILES['filnavn']['name']);
        $ext = substr($filename, strrpos($filename, '.') + 1);
        if (($ext == "jpg") or ($ext == "jpeg") or ($ext == "JPG") or ($ext == "JPEG") && ($_FILES["filnavn"]["type"] == "image/jpeg") && ($_FILES["filnavn"]["size"] < 350000))
        {
            //Determine the path to which we want to save this file
            $newname = dirname(__FILE__).'/'.$pics_folder.'/'.$filename;
           
            //Check if the file with the same name is already exists on the server
            if (!file_exists($newname))
            {
           
              /* create image folder if not exist */
              if(!is_dir("$pics_folder"))
              {
              mkdir("$pics_folder",0777);
              }

                //Attempt to move the uploaded file to it's new place
                if ((move_uploaded_file($_FILES['filnavn']['tmp_name'],$newname)))
                {
                    $respons = 'Fedt! Din fil er gemt som: '.$newname.'.';
                    $query = "INSERT INTO $pics_tbl SET billednavn='".$_FILES['filnavn']['name']."'";
                    $Result1 = mysql_query($query, $halvvejen) or die(mysql_error());
                }
                else
                {
                    $respons = "Fejl: Der opstod et problem under overførslen";
                }
            }
            else
            {
                $respons = 'Fejl: Filen '.$_FILES['filnavn']['name'].' eksisterer allerede';
            }
        }
        else
        {
            $respons = 'Fejl: kun .jpg billeder under 350Kb kan uploades';
      }
    }
    else
    {
        $respons = 'Fejl: din fil blev ikke overført';
    }
}
?>

<?php
if(!empty($respons))
{
    echo $respons . '<br />';
}
?>

Jeg tror, at valg af variabel mappe og tabel kan gøres smartere, men det her var den måde, jeg lige kunne regne ud, man kunne gøre det på. Håber I kan hjælpe mig...
Avatar billede erikjacobsen Ekspert
15. juni 2007 - 11:26 #1
Men plejer at bruge semikolon

    $pics_folder = 'Drikkevarer'; $pics_tbl= 'billeder_drikkevarer';
Avatar billede dkfire Nybegynder
15. juni 2007 - 11:35 #2
Hmm har godt nok aldrig se det her fungere:
$pics_folder = 'Billeder' && $pics_tbl= 'billeder_billeder';

&& bruges kun når der skal undersøges noget, i f.eks. if eller while.
Avatar billede mike2002 Nybegynder
15. juni 2007 - 11:54 #3
Nej, det gjorde det så heller ikke - det var bare et forsøg.

Men efter at have skiftet && ud med semikolon virker det! Sweat!

Svar for point! TAK
Avatar billede erikjacobsen Ekspert
15. juni 2007 - 12:00 #4
Jeg samler slet ikke på point, tak.
Avatar billede mike2002 Nybegynder
15. juni 2007 - 12:10 #5
Nej, det mente jeg egentlig nok - du har hjulpet mig før, tror jeg... Men endnu en gang tak. Skifter - slut!
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