Avatar billede bennybangkarl Nybegynder
24. september 2004 - 20:48 Der er 8 kommentarer og
2 løsninger

Simpel upload-system

Hey!

Jeg skal bruge en simpel upload-funktion, som skal kunne integreres i en formular, der (vha. mySQL) gemmer indholdet i en database. Derfor skal funktionen både blive gemt i databasen og samtidig uploade billedet.

Det skal også være muligt, at bestemme, hvor billederne skal gemmes.

Håber nogen kan hjælpe :D

mvh. le Blomst
Avatar billede googolplex Novice
24. september 2004 - 20:51 #1
Avatar billede bennybangkarl Nybegynder
24. september 2004 - 20:51 #2
Har prøvet denne - kan ikke få den til at fungere...
Avatar billede googolplex Novice
24. september 2004 - 20:57 #3
Hvilket webhotel bruger du, for den virker på alle dem jeg har prøvet ?
Avatar billede bennybangkarl Nybegynder
24. september 2004 - 21:13 #4
b-one.dk - har tjekket mit webhotel, og det fungerer fint så længe jeg lader upload-funktionen være på siden egen side - men lige så snart jeg smækker den ind i en anden formular, fungerer det ikke... den uploader fint - men ødelægger formularen, så den ikke uploader til databasen, selvom den udmærket kan uploade til min db når upload-funktionen er sat ind.
Avatar billede mollevp Nybegynder
24. september 2004 - 23:12 #5
Smid lige den kode du bruger - specielt formen
Avatar billede kviller Novice
25. september 2004 - 00:12 #6
Jeg har også b-one og bruger bare dette: move_uploaded_file("$img1" , "$copypath")
Avatar billede kviller Novice
25. september 2004 - 00:15 #7
Du kan da få hele koden egentlig. Bare lad være med at grine af min opsætning, da det er lavet på en RET underlig måde :) Jeg vil desværre ikke skrive link og password til hvor det ligger - er bange for at få for mange mærkelige billeder i mit galleri :)

<?php
include("$DOCUMENT_ROOT/files/db.php");
$imgpath = $DOCUMENT_ROOT . "/pictures/imgfiles/"
?>
<link href="/files/style.css" rel="stylesheet" type="text/css">



<table width=100% height=300 valign=top border=0 cellspacing=0 cellpadding=0>

<form action="<?php echo("$PHP_SELF");?>" method="post" name="ssAdd" ENCTYPE="multipart/form-data" class=inputBox>
<tr><td width="15%">&nbsp;</td><td width="85%"><b>Tilf&oslash;j billede</td></tr>



<tr><td>Titel: </td><td><input type=text" name="Titel" size=30 class=inputBox></td></tr>


<tr><td>Billede: </td><td><INPUT TYPE="file" NAME="img1" SIZE="30" class=inputBox><br />



<tr><td>Oprettes i Galleri</td><td><select name="galleri" size="1">
<?php

$Pic = "SELECT * FROM galleri ORDER by ID DESC";
$getPicResult = mysql_query($Pic,$db);


while ($aPic = mysql_fetch_array($getPicResult)){

   
    ?>
    <option value="<?php echo $aPic['ID']; ?>"><?php echo $aPic['navn']; ?></option>
   
    <?php
    };
   

?>





</select>








<tr><td>Beskrivelse:</td><td><textarea wrap="soft" cols=40 rows=6 name="koment"  class=inputBoxArea></textarea></td></tr>
<input type="hidden" name="pagestate" value=1>
<input type="hidden" name="add" value="true">

<tr><td>&nbsp;</td><td>

   
</td></tr>

<tr><td><br /><br /><input type="submit" value="Tilf&oslash;j" class=buttonSmall /></td><td valign=bottom>(Klik kun en gang, den er igang med at uploade)&nbsp;</td></tr>
</form>
</table>


<?php


/* ========================== Picture Adding and Updating Section =============================== */


if (isset($add)){                   



if ($img1_name != "") {
       
        if(file_exists("/imgfiles/$img1_name")){
        die("Filename allready exsists, please rename the file, press back on your browser and try again");
        }
        if ($img1_type=="image/pjpeg" || $img1_type=="image/gif"){
        $filecheck=true;
        }
        if(!$filecheck){
                die("Filename MUST be of .jpg or .gif type. Make sure you have the right format, and try again");
        }
        //echo($img1_type);
        $copypath = $imgpath . $img1_name;
        move_uploaded_file("$img1" , "$copypath")
             
                or die("Couldn't Upload Your File.");


} else {

      die("No File Specified");

}


// ***************************  Laver thumbnails til galleriet ***********************************
include_once('create.php');
$variable = new Thumbnail("$DOCUMENT_ROOT/pictures/imgfiles/$img1_name",120,120,"$DOCUMENT_ROOT/pictures/tnfiles/$img1_name",85,'

    "bevel(7,\'FFFFFF\',\'111144\')",
    "round_edges(4,\'C3DDEE\',1)"');


//************ Smider data i SQL databasen ***********************       
    $Dato = date("j-n-Y");
    $IP = $REMOTE_ADDR;
    $location = "imgfiles/$img1_name";
    $tnlocation = "tnfiles/$img1_name";
       
       
       
        $tempStringe = "INSERT INTO pictures (Titel, Dato, IP, koment, location, tnlocation, galleri) VALUES ('$Titel', '$Dato', '$IP', '$koment', '$location', '$tnlocation', '$galleri')" ;       
        mysql_query($tempStringe,$db);   

} //End of adding section


    //Do the adding END
   
   

?>
<p>&nbsp;</p>
<p class="head">Alt her under skal KUN bruges hvis galleriet IKKE eksisterer i listen.</p>
<form action="<?php echo("$PHP_SELF");?>" method="post" name="gAdd" ENCTYPE="multipart/form-data" class=inputBox>
  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="15%">Tilf&oslash;j Galleri </td>
      <td width="85%"><input type=text" name="Galleri" size=30 class=inputBox></td>
    </tr>
    <tr>
      <td>Beskrivelse: </td>
      <td><textarea wrap="soft" cols=40 rows=6 name="beskr"  class=inputBoxArea></textarea></td>
    </tr>
    <tr>
      <td>Navn: </td>
      <td><label>
        <input type="radio" name="navn" value="Jakob">
Jakob</label>
        <br>
        <label>
        <input type="radio" name="navn" value="Nedja">
Nedja</label></td>
    </tr>
    <tr>
      <td>Dato:</td>
      <td><input name="dato" type="text" id="dato" value="<?php echo date("d-m-Y"); ?>" size="15" maxlength="10">
        <input type="hidden" name="GallAdd" value="true"></td>
    </tr>
    <tr>
      <td><input type="submit" value="Tilf&oslash;j" class=buttonSmall /></td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <p><br />
  </p>
  <p> 
</form>
 
<?php if (isset($GallAdd)){
        $tempStringe = "INSERT INTO galleri (navn, beskr, name, dato) VALUES ('$Galleri', '$beskr', '$navn', '$dato')" ;       
        mysql_query($tempStringe,$db);   
       
       
       
        };
  ?>
</p>
<p>&nbsp;</p>
<p><a href=../pic.php>Til galleri</a></p>
Avatar billede bennybangkarl Nybegynder
25. september 2004 - 00:20 #8
Så kommer hele skidtet her:
<form action="<? echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data">
  <table width="507">
    <tr>
      <td width="29%">Produktets navn:</td>
      <td width="71%"><input type="text" name="produkt_navn" value="<? $_GET[produkt_navn]; ?>" style="width: 100%"></td>
    </tr>
    <tr>
      <td width="29%" valign="top">Lang beskrivelse:</td>
      <td width="71%"><textarea name="lang_beskrivelse" style="width: 100%" rows="10"><? $_GET[lang_beskrivelse]; ?></textarea></td>
    </tr>
    <tr>
      <td width="29%">Kort beskrivelse:</td>
      <td width="71%"><input type="text" name="kort_beskrivelse" value="<? $_GET[kort_beskrivelse]; ?>" style="width: 100%"></td>
    </tr>
    <tr>
      <td width="29%">Billede af produkt:</td>
      <td width="71%"><? include "billede_url.php"; ?></td>
    </tr>
  </table>
</form>

billede_url.php ser således ud (taget den fra webcafe og beskåret den, men den fungerer for sig selv):
<?php
/**
* Hvor skal filerne uploades til?
* Husk, at webserveren skal kunne skrive til dette bibliotek
*/
$konfiguration["upload_bibliotek"] = "../images/products";

/* Hvor mange kilobytes maa filerne fylde per styk? */
$konfiguration["max_stoerrelse"] = "1000";

if($_FILES["billede_url"]["size"] > 0) {

  /**
  * Hvis der er en fil, saa uploader vi den.
  *
  * Foerst slaar vi lige fast, hvor filen skal flyttes fra og til.
  */

  $fra = $_FILES["billede_url"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["billede_url"]["name"];

  /**
  *  Checker lige om filen er for stor til at vi vil acceptere den.
  *  Vi bruger ceil() i stedet for round(), saa vi ikke faar den skoere
  *  situation, at fejlmeldingen siger, at filen er for stor, men angiver
  *  samme stoerrelse for filen og den oevre graense.
  */
  $fil_stoerrelse = filesize($fra)/1000;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
      die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
          $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
          ceil($fil_stoerrelse) . "kb");
  }
  if(function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
    $status = "ok";
  }
  else{
    copy($fra, $til);
    $status = "ok";
  }

} else {

  /**
  * Intet tegn paa upload, saa vi viser bare listen over filer
  * og HTML-formularen til nye uploads.
  */

}
?>
<input type="file" name="billede_url" style="width: 100%" />

Håber nogen kan hitte rede i det (udover mig)...
Avatar billede googolplex Novice
25. september 2004 - 00:43 #9
Hvorfor bruger du $_GET[produkt_navn], burde det ikke være $_POST['produkt_navn'] ?!
Avatar billede bennybangkarl Nybegynder
25. september 2004 - 23:31 #10
fandt selv fejlen.. var ganske simpel - men kan ikke lige huske hvad den var :D... men det var sq lidt pinligt, at jeg ikke havde fanget den :D - men deler lige over... håber det er i orden...
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