Avatar billede coffein Nybegynder
01. september 2003 - 13:29 Der er 2 kommentarer og
1 løsning

Upload pics, but no thumb.

Dette script virker næsten. Det uploader billedet, men det laver ikke et thumbnails. Hvad er der galt.


Her er mit MySQL + phpscript..

CREATE TABLE gallery_pics (
  id int(3) NOT NULL auto_increment,
  billede tinytext NOT NULL,
  alt varchar(100) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;




<?PHP
  if ($_GET[page] == "gallerypics" AND $_GET[side] == "index") {
  echo "<h1>Tilføj billede til galleriet</h1>";
 
  if (isset($_POST[skriv])) {
    function imageresize($sourcefile,$maxwidth,$maxheight,$destinationfile=false) {
    $types=Array();
    $types[1]='gif';
    $types[2]='jpeg';
    $types[3]='png';
    $types[6]='wbmp';
    list($width,$height,$type)=getimagesize($sourcefile);
    $type_name=$types[$type];
    $imagecreatefromtype='imagecreatefrom'.$type_name;
    $imagetype='image'.$type_name;
    if(!function_exists($imagecreatefromtype) || !function_exists($imagetype)) {
      return false;
    }
    if($img_src=$imagecreatefromtype($sourcefile)) {
      $ratio_height=$maxheight/$height;
      $ratio_width=$maxwidth/$width;
      $ratio=min($ratio_width,$ratio_height);
      $newwidth=$width*$ratio;
      $newheight=$height*$ratio;
      if(function_exists('imagecreatetruecolor')) {
      $img_dst=imagecreatetruecolor($newwidth,$newheight);
      }
      elseif(function_exists('imagecreate')) {
      $img_dst=imagecreate($newwidth,$newheight);
      }
      else {
      return false;
      }
      if(function_exists('imagecopyresampled')) {
      imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
      }
      elseif(function_exists('imagecopyresized')) {
      imagecopyresized($img_dst, $img_src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
      }
      else {
      imagedestroy($img_src);
      imagedestroy($img_dst);
      return false;
      }
      if($destinationfile==false) {
      $imagetype($img_dst);
      }
      else {
      $imagetype($img_dst,$destinationfile);
      }
      imagedestroy($img_src);
      imagedestroy($img_dst);
      return true;
    }
    else {
      return false;
    }
    }

    //Her skal filen flyttes fra
    $fra    = $_FILES['fil']['tmp_name'];

    //Hvilken type fil arbejder vi med?
    $ext    = strtolower(end(explode(".", $_FILES['fil']['name'])));

    //Hvis filen er et jpg, jpeg eller gif billede
    if($ext == "jpg" || $ext == "jpeg" || $ext == "png") {
    $dato = date("dmYHis");
    $tid = date("d/m-Y H:i:s");
    $billede = $_FILES['fil']['name'];

    //Her giver vi billedet et andet navn, så der ikke kommer to ens navne
    $start = $dato . rand(1, 100);
    $nytNavn = "$start.$ext";

    //Her er vores destination
    $til = "../gallery/large/" . $nytNavn;

    //Her sker det magiske:
    move_uploaded_file($fra, $til);

    //Her resizer vi billedet med Xyborx’s funktion
    $newSizeWidth    = 130;
    $newSizeHeight    = 130;
    $newSizeDes    = "../gallery/small/" . $nytNavn;
    imageresize($til, $newSizeWidth, $newSizeHeight, $newSizeDes);

    include("../db/db.php");
    $query    = "INSERT INTO gallery_pics (billede) VALUES ('$nytNavn')";
    mysql_query($query);
   
    }
    else {
    echo "Filnavnet er ugyldigt!";
    exit;
    }
    header("Location:?page=$_GET[page]&side=tekst");
  }

  echo "
    Her tilføjes billeder som automatisk laver stor og lille format.
    Formater der er understøttet: <b>JPG, JPEG, PNG</b><BR><BR>
    <form action=\"?page=$_GET[page]&side=index\" method=\"post\" enctype=\"multipart/form-data\">
    <input type=\"hidden\" name=\"skriv\" value=\"true\">
    Billede: <input type=\"file\" name=\"fil\">
    <input type=\"submit\" class=\"knap\" name=\"upload\" value=\"Upload\">
    </form>
    <BR><BR>
  ";
  }

  if ($_GET[page] == "gallerypics" AND $_GET[side] == "tekst") {
  echo "
    <h1>Gallery - tekst</h1>
    Teksten skal tilføjes.<BR><BR>
  ";

  if($_POST[skriv]) {
    include("../db/db.php");
    $imgid=mysql_query("Select * FROM gallery_pics ORDER BY id DESC LIMIT 0,1") or die (mysql_error());
    $row = mysql_fetch_array($imgid);
    $id = $row[id];

    mysql_query("update gallery_pics set alt='$_POST[alt]' WHERE id='$id'") or die (mysql_error());
    echo "Tilføjelse af billede er færdig! ";
  }   
  echo "
    <form action=\"?page=$_GET[page]&side=tekst\" method=\"post\">
    <table border=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\">
      <tr>
      <td><b>Alt:</b></td>
      </tr>
      <tr>
      <td><input type=\"text\" name=\"alt\" style=\"width: 300px;\"></td>
      </tr>
      <tr>
      <td>
        <input type=\"submit\" name=\"skriv\" class=\"knap\" TITLE=\"Send oplysninger\" value=\"Send\">
      </td>
      </tr>
    </table> 
    </form>   
  ";
  }
?>
Avatar billede coffein Nybegynder
01. september 2003 - 13:30 #1
Undskyld længden... men håber en vil hjælpe mig
Avatar billede reef Nybegynder
24. april 2006 - 22:49 #2
ikke for noget men skal du ikke bruge blob i sql datatypen
Avatar billede coffein Nybegynder
05. juni 2008 - 12:41 #3
sa
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
Computerworld tilbyder specialiserede kurser i database-management

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