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

Redimensionamento Automatico De Fotos


wawasurf

Pergunta

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>";

     }

}

 ?>

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...