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

Dúvida no código de upload de foto


HUGO BORGES

Pergunta

Galera com ajuda daqui do forum eu montei um script de upload de foto em php e mysql, ele funciona 100%, so que estou com 2 dúvidas:

1°- Quero por um limite ou seja apenas fotos com menos de 1MB pode ser enviadas;

2°- Quero que ele redimensione automaticamente as fotos, se ele tiver 800 x 600, quero que va para 400 x 200.

Segue o código abaixo:

// Verifica se existir o arquivo (Foto)
  if(isset($_FILES["arquivo"])){
   $arquivo = $_FILES["arquivo"];
   
   $arrArquivo = explode('.',$arquivo['name']); // Tranforma em array o nome do arquivo
   $fileExtencion = trim($arrArquivo [count($arrArquivo )-1]); // Obtem a extensão do arquivo
   $arrExtPermitidas = array('JPG', 'GIF', 'PNG'); // Array com as extensões permitidas

   // Caso a extensão não for permitida
   if(!in_array(strtoupper($fileExtencion),$arrExtPermitidas)){
    echo "<script>alert('ERRO. Formato da imagem não e suportado.'); history.back();</script>";
    exit();
   }

   // Gera um identificador único para o arquivo
   $nomeDoArquivo = md5(uniqid(rand(), true));
   // Diretorio dos arquivos
   $pasta_dir = "Imagens/Imagens_BD/Portifolio/";
   // Definindo o destino do arquivo
   $arquivo_nome = $pasta_dir . $nomeDoArquivo . '.' . $fileExtencion;

   // Faz o upload da imagem
   move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);
   $foto = $nomeDoArquivo . '.' . $fileExtencion;
  }

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

o redimecionamento da imagem você pode fazer na propria pagina html atraves da tag img, já o tamanho você terá que jogar no

$tamanho do arquivo = filesize($arquivo);

// Faz o upload da imagem

if($tamanho do arquivo > 1024){

<script>window.alert('Arquivo Acima de 1MB') </script>

}

else{

move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);

$foto = $nomeDoArquivo . '.' . $fileExtencion;

}

}

Link para o comentário
Compartilhar em outros sites

  • 0

Cara se te ajudar usa uma class, ela já faz isso pra você, um abraço!

No seu caso Veja o Exemplo 3 do link abaixo.

http://www.daviferreira.com/blog/post/8/ma...ns-com-php.html

Link para o comentário
Compartilhar em outros sites

  • 0

Jefferson Oliveira não gostei muito, pelo que pude notar tenho que baixar um arquivo m2brimagem.class.php .

Acho desperdício porque quero colocar apenas uma função simples.

------------------------------------------------------------ EDIT ---------------------------------------------------------

Galera consegui criar um scrip para testar o tamanha da foto, olha como funciona:

$tamanho =  $arquivo['size']; //Pega o tamanha da foto

    // Tamanho maximo para o arquivo
    $tamanho_bytes = "1000000";

   // Testa o tamanha se for maior que 1MB
    if ($tamanho > $tamanho_bytes){
     echo "<script>alert('ERRO. Imagem maior que 1MB.'); history.back();</script>";
     exit;
    }
Junto com meu scrip ficou assim;
// Verifica se existir o arquivo (Foto)
   if(isset($_FILES["arquivo"])){

    $arquivo = $_FILES["arquivo"];
    $tamanho =  $arquivo['size'];
    $arrArquivo = explode('.',$arquivo['name']); // Tranforma em array o nome do arquivo
    $fileExtencion = trim($arrArquivo [count($arrArquivo )-1]); // Obtem a extensão do arquivo
    $arrExtPermitidas = array('JPG', 'GIF', 'PNG'); // Array com as extensões permitidas

    // Tamanho maximo para o arquivo
    $tamanho_bytes = "1000000";

    if ($tamanho > $tamanho_bytes){
     echo "<script>alert('ERRO. Imagem maior que 1MB.'); history.back();</script>";
     exit;
    }

    // Caso a extensão não for permitida
    if(!in_array(strtoupper($fileExtencion),$arrExtPermitidas)){
     echo "<script>alert('ERRO. Formato da imagem não e suportado.'); history.back();</script>";
     exit();
    }

    // Deleta foto antiga
    if ($resultado->foto == ''){
    }else{
     unlink('Imagens/Imagens_BD/Avatar/' . $resultado->foto);
    }

    // Gera um identificador único para o arquivo
    $nomeDoArquivo = md5(uniqid(rand(), true));
    // Diretorio dos arquivos
    $pasta_dir = "Imagens/Imagens_BD/Avatar/";  
    // Definindo o destino do arquivo
    $arquivo_nome = $pasta_dir . $nomeDoArquivo . '.' . $fileExtencion;

    // Faz o upload da imagem
    move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);
    $foto = $nomeDoArquivo . '.' . $fileExtencion;
   }

Editado por HUGO BORGES
Link para o comentário
Compartilhar em outros sites

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