• 0
Sign in to follow this  
wawasurf

Redimensionamento Automatico De Fotos

Question

Olá,

Estou fazendo um script para enviar várias fotos de uma vez só redimensionando cada foto para o tamnho desejado, estou usando o for para estrutua de repetição. Esta dando um erro no getmisize: Warning: getimagesize(f): failed to open stream: No such file or directory in /var/www/casamarketing.com.br/1051/galerias_fotos/uploadimage.php on line 29

Erro no arquivo . Poderiam me dizer o que esta errado no script?

Função para redimensionar as fotos

<?php
    require_once "../admin/verifica.php";
    
    function verifica_dimensao_image($img, $max_x, $max_y)
    {
        $dimensaoImage = getimagesize($img["tmp_name"]);
        $dimensao = '';
        // Verifica largura
        if($dimensaoImage[0] > $dimensaoImage[1])
        {
            if($dimensaoImage[0] > $max_x)
            {
                $dimensao = 'largura';
            }
        }
        else
        {
            if($dimensaoImage[0] < $dimensaoImage[1])
            {
                if($dimensaoImage[1] > $max_x)
                {
                    $dimensao = 'altura';
                }
            }
            else
            {
                if($dimensaoImage[0] == $dimensaoImage[1])
                {
                    if($dimensaoImage[0] > $max_x)
                    {
                        $dimensao = 'largura';
                    }
                }
            }
        }
        return ($dimensao);        
    }//fim verifica_dimensao_image
    
    function reduz_imagem($img, $max_x, $max_y, $nome_foto) 
    {
        //pega o tamanho da imagem ($original_x, $original_y)
        list($width, $height) = getimagesize($img);
        $original_x = $width;
        $original_y = $height;
        // se a largura for maior que altura
        if($original_x > $original_y) {
               $porcentagem = (100 * $max_x) / $original_x;      
        } 
        else {
               $porcentagem = (100 * $max_y) / $original_y;
        }
        $tamanho_x = $original_x * ($porcentagem / 100);
        $tamanho_y = $original_y * ($porcentagem / 100);
        $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
        $image   = imagecreatefromjpeg($img);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);
        return imagejpeg($image_p, $nome_foto, 100);
    }//fim reduz_imagem
    
    function verifica_image($img)
    {
        // Verifica se o mime-type do arquivo é de imagem
        if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"]))
        {
            return (TRUE);
        }
        return (FALSE);
    }// fim verifica_image
    
    function verifica_extensao_image($img)
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext);
        return ($ext[1]);
    }//fim verifica_extensao_imag
    
    
?>
Script para enviar as fotos redimensionadas
<?
    require_once "../admin/conecta.php";
    require_once "../admin/conecta.php";
    require_once "functionsUpload.php";


//Elimita o limite de tempo do php_timeout();

set_time_limit(0);

//Pasta para aonde deve ir os arquivos sem barra do inicio nem final
 $pasta =$_POST['pasta'];

 $caminho_dos_arquivos = "/var/www/casamarketing.com.br/1051/galerias_fotos/fotos/$pasta/";

 for($i=1; $i<=10; $i++)

 {

     //pega os nomes dos campos files (prefixo + numero crescente)

      $id_arquivo = "foto_$i"; 

$max_image_x = 267;
$max_image_y = 200;

      $nome_arquivo = $_FILES[$id_arquivo]["name"];

    $tamanho = getimagesize($id_arquivo["tmp_name"]);
     ini_set ("max_execution_time", 3600); // uma hora
    $err = FALSE;
    if(is_uploaded_file($id_arquivo['tmp_name']))
    {
        if(verifica_image($id_arquivo))
        {
            $tamanho = getimagesize($id_arquivo["tmp_name"]);
            $dimensiona = verifica_dimensao_image($id_arquivo, $max_image_x, $max_image_y);
            if($dimensiona != '')
            {
                if($dimensiona == 'altura')
                {
                        $auxImage = $max_image_x;
                        $max_image_x = $max_image_y;
                        $max_image_y = $auxImage;
                }
            }
            else
            {
                $max_image_x = $tamanho[0];
                $max_image_y = $tamanho[1];
            }
            
            $nome_foto  = ('foto'.$i.'_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto
            $endFoto = $diretorio . $nome_foto;
            if(reduz_imagem($id_arquivo['tmp_name'], $max_image_x, $max_image_y, $endFoto))
            {
                $err = TRUE;
            }  
        }
    }

      // faz o upload dos arquivos



      if(move_uploaded_file($tamanho, "$caminho_dos_arquivos/$nome_arquivo"))

      {

          echo "O Arquivo <b>$nome_arquivo</b> foi concluido com sucesso<BR>";

      }

      else

      {

           echo "Erro no arquivo <b>$nome_arquivo</b><BR>";

     }

}

 ?>

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this