Ir para conteúdo
Fórum Script Brasil
  • 0

Redimensionar imagens depois do Upload


m3io

Pergunta

boas malta arranjei este pequeno codigo para fazer upload e redimensionar um thumb em 150*200,

mas o problema é que preciso tambem de redimensionar a imagem original para 800*600 e não sei como fazer isso,

(mudei tb o codigo pra meter o endereco na base dados mas isso ta tudo funcionando, so falta mesmo a original para 800*600 ou algo do genero)

já tentei duplicar o codigo e mudar as variaveis mas não ta funcionando,

alguém me pode botar uma maozinha ai ???

valeu

define("TWIDTH", "200");
    define("THEIGHT", "150");
    define("IDIR", "images/");
    define("TDIR", "images/thumbs/");

                $idir = IDIR;
        $tdir = TDIR;
        
        $twidth = TWIDTH;   // Maximum Width For Thumbnail Images
        $theight = THEIGHT;   // Maximum Height For Thumbnail Images
        
        if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>
          <form method="post" action="add.php<?php echo $_SESSION["string"]; ?>&subpage=upload" enctype="multipart/form-data">
           File:<br />
          <input type="file" name="imagefile" class="form" >
          <br /><br />
          <input name="submit" type="submit" value="Adicionar" class="form">  <input type="reset" value="Limpar" class="form">
          </form>
        <?php } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script
          $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use
          if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
            $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
             ///////////////////////////////////
              ///////////////////////////////////
     $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location
           $bigimg = "$idir" . $_FILES['imagefile']['name'];
           $_SESSION["bigimg"] = $bigimg;
          
           $smallimg = "$tdir" . $_FILES['imagefile']['name'];
            if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location
              //print 'Imagem enviada com sucesso. -> ';   // Was Able To Successfully Upload Image~
               //////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
              //envia imagem grand pra bd
              $tab = TAB;
              $token = $_SESSION["token"];
              query("UPDATE `$tab` SET `bimg`='$bigimg' WHERE `token`='$token'");
              //////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
              print $bigimg.'<br />';
              $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From
              $currwidth = imagesx($simg);   // Current Image Width
              $currheight = imagesy($simg);   // Current Image Height
              if ($currheight > $currwidth) {   // If Height Is Greater Than Width
                 $zoom = $twidth / $currheight;   // Length Ratio For Width
                 $newheight = $theight;   // Height Is Equal To Max Height
                 $newwidth = $currwidth * $zoom;   // Creates The New Width
              } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
                $zoom = $twidth / $currwidth;   // Length Ratio For Height
                $newwidth = $twidth;   // Width Is Equal To Max Width
                $newheight = $currheight * $zoom;   // Creates The New Height
              }
              $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail
              imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete
              $palsize = ImageColorsTotal($simg);
              for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image
               $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used
               ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
              }
              imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)
              
              imagejpeg($dimg, "$tdir" . $url);   // Saving The Image
              $vamos =  imagejpeg($dimg, "$tdir" . $url);
              imagedestroy($simg);   // Destroying The Temporary Image
              imagedestroy($dimg);   // Destroying The Other Temporary Image
              print 'Imagem reduzida enviada com sucesso. -> ';   // Resize successful
               //////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
              print $smallimg.'<br />';
              //envia pequena pra bd
              $tab = TAB;
              $token = $_SESSION["token"];
              query("UPDATE `$tab` SET `simg`='$smallimg' WHERE `token`='$token'");
               //////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
              header("Location: "."?".$_SESSION["string"]."&div=3");
              
              
              
              
            } else {
              print '<font color="#FF0000">ERRO: não foi possivel enviar a imagem.</font>';
              header("Location: "."?".$_SESSION["string"]."&div=5");   // Error Message If Upload Failed
            }
          } else {
            print '<font color="#FF0000">ERRO: Extencao Invalida (Deve ser .jpg ou .jpeg. A sua e '.$file_ext;   // Error Message If Filetype Is Wrong
            header("Location: "."?".$_SESSION["string"]."&div=7");
            print $file_ext;   // Show The Invalid File's Extention
            print '.</font>';
            print_footer();

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...