Avatar billede hansen1142 Nybegynder
19. oktober 2005 - 11:39 Der er 6 kommentarer

Upload billed, og en god lister..

X Hejsa.. Håber at kunne få en smule hjælp her inde.. Jeg søger et script der er 100% klar til brug (kan dog godt sætte dstination for billeder osv :-P)

Selve upload formen er jo ikke den værste, men det ønske jeg har om en list_uploads lyder således:

Den skal automatisk lave thumbnails som gemmes som et nyt rezised og originalen som max 800*600

Så skal hvert thumbnail jo selvfølgelig linke til sin originale størrelse, og der skal billedet helst gerne åbne i en pop-up der automatisk har størrelse efter billedet.

Håber der findes et sådant, eller at der er en der vil bruge lidt tid på at tilpasse noget i denne stil da jeg ikke selv på nogen måde har styr på dette.. Og den skal helst gerne være lige til at include uden at ødelægge design osv.. :-)
Avatar billede dmdisco Nybegynder
19. oktober 2005 - 11:44 #1
function image_resize($src,$dest,$maxWidth,$maxHeight,$quality=100) {
  if (file_exists($src)  && isset($dest)) {
      // path info
      $destInfo  = pathInfo($dest);
     
      // image src size
      $srcSize  = getImageSize($src);
     
      // image dest size $destSize[0] = width, $destSize[1] = height
      $srcRatio  = $srcSize[0]/$srcSize[1]; // width/height ratio
      $destRatio = $maxWidth/$maxHeight;
      if ($destRatio > $srcRatio) {
          $destSize[1] = $maxHeight;
          $destSize[0] = $maxHeight*$srcRatio;
      }
      else {
          $destSize[0] = $maxWidth;
          $destSize[1] = $maxWidth/$srcRatio;
      }
     
      // path rectification
      if ($destInfo['extension'] == "gif") {
          $dest = substr_replace($dest, 'jpg', -3);
      }
     
      // true color image
      $destImage = imageCreateTrueColor($destSize[0],$destSize[1]);
      //
     
      // src image
      switch ($srcSize[2]) {
          case 1: //GIF
          $srcImage = imageCreateFromGif($src);
          break;
         
          case 2: //JPEG
          $srcImage = imageCreateFromJpeg($src);
          break;
         
          case 3: //PNG
          $srcImage = imageCreateFromPng($src);
          break;
         
          default:
          return false;
          break;
      }
     
      // resampling
      imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
     
      // generating image
      switch ($srcSize[2]) {
          case 1:
          case 2:
          imageJpeg($destImage,$dest,$quality);
          break;
         
          case 3:
          imagePng($destImage,$dest);
          break;
      }
      return true;
  }
  else {
      return false;
  }
}

// Upload function
function upload_pic($src, $src_t, $src_name, $dest, $overwrite='false') {
   
   
    $filetypes = array("image/gif", "image/pjpeg", "image/png");

    $thumbdest = "$dest/thumb/$src_name";
   
    $dest = "$dest/$src_name";

    if (in_array("$src_t", $filetypes)) {
   
        if ($overwrite == "true") {
       
            if (file_exists($dest)) {
                unlink($dest);
            }
            move_uploaded_file($src, $dest);
            image_resize($dest,$dest,600,1000,100);
           
            if (file_exists($thumbdest)) {
                unlink($thumbdest);
            }
            copy($dest, $thumbdest);
            image_resize($thumbdest,$thumbdest,100,100,100);
            if ($src_t == "image/gif") {
                unlink($thumbdest);
            }
           
            return true;
           
        } else {
            if (!file_exists($dest) || !file_exists($thumbdest)) {
           
                move_uploaded_file($src, $dest);
                image_resize($dest,$dest,600,1000,100);
               
                copy($dest, $thumbdest);
                image_resize($thumbdest,$thumbdest,100,100,100);
               
                return true;
               
            } else {
                die("Filen eksistere allerede omdøb den venligst eller vælg overskriv <b>\"".$src_name."\"</b><br><a href=\"java script:history.back(-1)\">Tilbage</a>");
            }
           
        }
    } else {
        return false;
        die("Filen er ikke et gyldigt billedeformat <b>\"".$src_name."\"</b>");
    }
   
}
Avatar billede dmdisco Nybegynder
19. oktober 2005 - 11:49 #2
lav en form
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file"> billedefil<br>
<input type="checkbox" name="overwrite" value="true"> overskriv<br>
<input type="submit" name="upload">
</form>

send den til en fil hvor du kører denne funktion
$dest = "../images";
upload_pic($file, $file_type, $file_name, $dest, $overwrite);
Avatar billede hansen1142 Nybegynder
19. oktober 2005 - 11:50 #3
Er den komplet?
Og skal den "pakkes ind" i <? - ?>

Hvis ja til begge, så smid et svar..
Avatar billede hansen1142 Nybegynder
19. oktober 2005 - 11:54 #4
Hov, hvordan sender mand formen til uploaderen??
Avatar billede dmdisco Nybegynder
19. oktober 2005 - 12:36 #5
skriv uploaderen i en fil eks. upload.php

<?php
function image_resize($src,$dest,$maxWidth,$maxHeight,$quality=100) {
  if (file_exists($src)  && isset($dest)) {
      // path info
      $destInfo  = pathInfo($dest);
     
      // image src size
      $srcSize  = getImageSize($src);
     
      // image dest size $destSize[0] = width, $destSize[1] = height
      $srcRatio  = $srcSize[0]/$srcSize[1]; // width/height ratio
      $destRatio = $maxWidth/$maxHeight;
      if ($destRatio > $srcRatio) {
          $destSize[1] = $maxHeight;
          $destSize[0] = $maxHeight*$srcRatio;
      }
      else {
          $destSize[0] = $maxWidth;
          $destSize[1] = $maxWidth/$srcRatio;
      }
     
      // path rectification
      if ($destInfo['extension'] == "gif") {
          $dest = substr_replace($dest, 'jpg', -3);
      }
     
      // true color image
      $destImage = imageCreateTrueColor($destSize[0],$destSize[1]);
      //
     
      // src image
      switch ($srcSize[2]) {
          case 1: //GIF
          $srcImage = imageCreateFromGif($src);
          break;
         
          case 2: //JPEG
          $srcImage = imageCreateFromJpeg($src);
          break;
         
          case 3: //PNG
          $srcImage = imageCreateFromPng($src);
          break;
         
          default:
          return false;
          break;
      }
     
      // resampling
      imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
     
      // generating image
      switch ($srcSize[2]) {
          case 1:
          case 2:
          imageJpeg($destImage,$dest,$quality);
          break;
         
          case 3:
          imagePng($destImage,$dest);
          break;
      }
      return true;
  }
  else {
      return false;
  }
}

// Upload function
function upload_pic($src, $src_t, $src_name, $dest, $overwrite='false') {
   
   
    $filetypes = array("image/gif", "image/pjpeg", "image/png");

    $thumbdest = "$dest/thumb/$src_name";
   
    $dest = "$dest/$src_name";

    if (in_array("$src_t", $filetypes)) {
   
        if ($overwrite == "true") {
       
            if (file_exists($dest)) {
                unlink($dest);
            }
            move_uploaded_file($src, $dest);
            image_resize($dest,$dest,600,1000,100);
           
            if (file_exists($thumbdest)) {
                unlink($thumbdest);
            }
            copy($dest, $thumbdest);
            image_resize($thumbdest,$thumbdest,100,100,100);
            if ($src_t == "image/gif") {
                unlink($thumbdest);
            }
           
            return true;
           
        } else {
            if (!file_exists($dest) || !file_exists($thumbdest)) {
           
                move_uploaded_file($src, $dest);
                image_resize($dest,$dest,600,1000,100);
               
                copy($dest, $thumbdest);
                image_resize($thumbdest,$thumbdest,100,100,100);
               
                return true;
               
            } else {
                die("Filen eksistere allerede omdøb den venligst eller vælg overskriv <b>\"".$src_name."\"</b><br><a href=\"java script:history.back(-1)\">Tilbage</a>");
            }
           
        }
    } else {
        return false;
        die("Filen er ikke et gyldigt billedeformat <b>\"".$src_name."\"</b>");
    }
   
}
$dest = "../images";
// lav evt. et par check på om dataen er blevet submitet og om fil størrelsen er for stor
upload_pic($file, $file_type, $file_name, $dest, $overwrite);
?>
og skriv formen i en anden fil eks. form.php

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"> billedefil<br>
<input type="checkbox" name="overwrite" value="true"> overskriv<br>
<input type="submit" name="upload">
</form>
Avatar billede dmdisco Nybegynder
19. oktober 2005 - 12:37 #6
$dest = "sti/til/din/mappe";
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