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

Não sei onde estou errando


wawasurf

Pergunta

To com um script aqui de fazer upload de uma foto para o servidor, como estou fazendo uma galeria de imagens, preciso criar uma estrutura de repetição para que o usuario possa enviar mais de uma foto que no caso aqui seria 10. Peço para que de uma olhada no meu script e me diga onde estou errando...

Faz o upload das imagens

<?php 
require_once ("functionsUpload.php");
set_time_limit(0);    //Elimita o limite de tempo do php_timeout();

$i =1; //a variável i é iniciada com valor 1
While($i <= 10) //enquanto $i for menor ou igual a 10...
{
//pega os nomes dos campos files (prefixo + numero crescente)

$id_arquivo = "foto".$i;
$nome_arquivo = $_FILES[$id_arquivo]["name"];
$arqv_temporario = $_FILES[$id_arquivo]["tmp_name"];

// faz o upload dos arquivos

$arquivo = isset($_FILES["$id_arquivo"]) ? $_FILES["$id_arquivo"] : FALSE;
$max_image_x = 402;
$max_image_y = 331;
$diretorio = '/home/admin/public_html/testes/eu/fotos/';
if($arquivo)
{
    $tamanho = getimagesize($arqv_temporario);
    ini_set ("max_execution_time", 3600); // uma hora
    $err = FALSE;
    if(is_uploaded_file($arqv_temporario))
    {
        if(verifica_image($arquivo))
        {
            $tamanho = getimagesize($arqv_temporario);
            $dimensiona = verifica_dimensao_image($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  = ('imagem_crop_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto
            $endFoto = $diretorio . $nome_foto;
            if(reduz_imagem($arqv_temporario, $max_image_x, $max_image_y, $endFoto))
            {
                $err = TRUE;
            }
        }
    }
}


{



echo "O Arquivo <b>$nome_foto e $id_arquivo</b> foi concluido com sucesso<img src=fotos/$nome_foto /><br />";
$i++; // e incrementado




}


}

?>
Faz o redimensionamento das imagens
<?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
    
    
?>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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...