Avatar billede Slettet bruger
20. september 2005 - 10:15 Der er 3 kommentarer og
1 løsning

sætte 2 funktioner sammen

Hejeksperter, jeg vil gerne havde disse 2 funktioner sammen, men kan ikke selv lige se hvordan.

Det skal kunne uploade, og det gør mit script, men mit script scaler kun med 10%, men jeg ville gerne have at den max måtte være 150 i både "width" og "height".

Mit script (til at uploade):
<?PHP
if(isset($_POST["upload"])) {
                //echo "--> " . $_FILES["upfile"]["tmp_name"];
                if(!empty($_FILES["upfile"]["tmp_name"])) {
               
                    //hvilken fil det drejer sig om
            $filename = $_FILES["upfile"]["tmp_name"];
           
            //Her viser den billedet i fuld størrelse, ændres det til 10 vil den vise billedet 10 gane mindre
            $percent = 90;
           
            //Finder højde og bredde på billeder
            list($width, $height) = getimagesize($filename);
            $newwidth = $width * $percent / 100;
            $newheight = $height * $percent / 100;
           
            //Laver her det nye billede i true color(kun gdlib2)
            $thumb = imagecreatetruecolor($newwidth, $newheight);
            $source = imagecreatefromjpeg($filename);
           
            //laver den nye billed størrelse
            imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
            $name =  time() . "_" . md5($_FILES["upfil"]["tmp_name"]) . ".jpg";
            imagejpeg($thumb, "students/" . $name);
            mysql_query("INSERT INTO hansan_student (name, slut_dato, note, pic) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]','$name')") or die(mysql_error());
            $msg = "Elev og <b>billede</b> tilføjet.";
            } else {
            mysql_query("INSERT INTO hansan_student (name, slut_dato, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]')") or die(mysql_error());
            $msg = "Elev tilføjet";
            }
            echo $msg;
            exit();
            }
           
        ?>
            <form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" method="POST">
            <table width="100%">
            <tr>
            <td align="left" valign="top">
            <fieldset>
            <legend>Navn på elev:</legend>
            <input type="text" name="name">
            </fieldset>
            </td>

            <td align="left" valign="top">
            <fieldset>
            <legend>Upload billede:</legend>
            <input type="file" name="upfile">
            </fieldset>
            </td>
            </tr>
           
            <tr>
            <td align="left" valign="top">
            <fieldset>
            <legend>Besked til elev:</legend>
            <textarea rows="15" cols="75" name="note"></textarea>
            </fieldset>
            </td>
           
            <td align="left" valign="top">
            <fieldset>
            <legend>Besked til elev:</legend>
            <input type="text" name="slut_dato" value="2005-12-31" maxlength="10" size="8">
            </fieldset>
            </td>
            </tr>
                       
            <tr>
            <td align="left" valign="top"><input type="submit" name="upload" value="Upload"></td>
            </tr>
            </table>
            </form>


den anden funktion som jeg har fundet på php.net: (http://dk2.php.net/manual/en/function.imagecopyresampled.php)
<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>
Avatar billede dmdisco Nybegynder
20. september 2005 - 10:20 #1
kig lidt på disse 2 funktioner den ene er resize og den næste er upload der kalder på funktionen resize

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, with anti-aliasing
      $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;
  }
}
// vars: image_resize("front.jpg","front.jpg",200,350,100);

// Upload function
function upload_pic($src, $src_t, $src_name, $dest, $overwrite='false') {
    // har omdøbt $src_type til $src_t
   
    $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);
           
            //move_uploaded_file($src, $thumbdest);
            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);
               
                //move_uploaded_file($src, $thumbdest);
                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>");
    }
   
} // END af upload_pic()
Avatar billede Slettet bruger
20. september 2005 - 11:15 #2
Den ser lidt overskuelig ud den der: dmdisco...
Avatar billede medieroed Praktikant
20. september 2005 - 11:17 #3
prøv den her:)

<?PHP
if(isset($_POST["upload"])) {
                //echo "--> " . $_FILES["upfile"]["tmp_name"];
                if(!empty($_FILES["upfile"]["tmp_name"])) {
               
                    //hvilken fil det drejer sig om
            $filename = $_FILES["upfile"]["tmp_name"];
           
            /*/Her viser den billedet i fuld størrelse, ændres det til 10 vil den vise billedet 10 gane mindre
            $percent = 90;
           
            //Finder højde og bredde på billeder
            list($width, $height) = getimagesize($filename);
            $newwidth = $width * $percent / 100;
            $newheight = $height * $percent / 100;
            */

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
//header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}


            //Laver her det nye billede i true color(kun gdlib2)
            $thumb = imagecreatetruecolor($width, $height);
            $source = imagecreatefromjpeg($filename);
           
            //laver den nye billed størrelse
            imagecopyresized($thumb, $source, 0, 0, 0, 0, $width, $height);
            $name =  time() . "_" . md5($_FILES["upfil"]["tmp_name"]) . ".jpg";
            imagejpeg($thumb, "students/" . $name);
            mysql_query("INSERT INTO hansan_student (name, slut_dato, note, pic) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]','$name')") or die(mysql_error());
            $msg = "Elev og <b>billede</b> tilføjet.";
            } else {
            mysql_query("INSERT INTO hansan_student (name, slut_dato, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]')") or die(mysql_error());
            $msg = "Elev tilføjet";
            }
            echo $msg;
            exit();
            }
           
        ?>
            <form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" method="POST">
            <table width="100%">
            <tr>
            <td align="left" valign="top">
            <fieldset>
            <legend>Navn på elev:</legend>
            <input type="text" name="name">
            </fieldset>
            </td>

            <td align="left" valign="top">
            <fieldset>
            <legend>Upload billede:</legend>
            <input type="file" name="upfile">
            </fieldset>
            </td>
            </tr>
           
            <tr>
            <td align="left" valign="top">
            <fieldset>
            <legend>Besked til elev:</legend>
            <textarea rows="15" cols="75" name="note"></textarea>
            </fieldset>
            </td>
           
            <td align="left" valign="top">
            <fieldset>
            <legend>Besked til elev:</legend>
            <input type="text" name="slut_dato" value="2005-12-31" maxlength="10" size="8">
            </fieldset>
            </td>
            </tr>
                       
            <tr>
            <td align="left" valign="top"><input type="submit" name="upload" value="Upload"></td>
            </tr>
            </table>
            </form>
Avatar billede Slettet bruger
20. september 2005 - 11:42 #4
takker medieroed :D
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