Treva Fórum
~~ Treva Fórum ~~

Beiin Viindos ao Treva Fórum Entrem Se Registrem se Divirta...
e chamem amigos para Acessar também e participe de nossos eventos e Promoções.

Equipe Treva Fórum.

[PHP] Upload de imagem

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[PHP] Upload de imagem

Mensagem por XSnake1996 em Sex Jun 11, 2010 2:19 pm

Ola a todos pessoal,

Há muito que consulto este forum e tem sido muito util para tirar algumas duvidas. Hoje resolvi publicar o meu primeiro tutorial de modo a ajudar aqueles que precisem.
Escolhi como tema o upload de imagem em PHP, visto ser bastante utilizado e ainda não ter encontrado aqui um código que seja facilmente implementado por qualquer programador com conhecimentos minimos em PHP.

Nome: Upload de imagem
Funcionalidades:
- Upload de Imagem para uma pasta pré-definida
- Verificação do formato da imagem
- Verificação do tamanho da imagem

1º Passo: Criação do form

Código:

<form name="upload_imagem" method="post" enctype="multipart/form-data"  action="upload.php">
 <table>
    <tr><td><input type="file" name="image"></td></tr>
    <tr><td><input name="Submit" type="submit" value="Upload"></td></tr>
 </table>   
 </form>

2º Passo: Desenvolvimento da acção do botão de Upload

Código:

<?
//Define o tamanho máximo da imagem
define ("MAX_SIZE","100");

//Verifica se o botão de upload foi pressionado
   if(isset($_POST['upload']))
   {
      //Guarda na variavél $image o nome completo da imagem (nome+extensão)
      $image = $_FILES['file']['name'];

      //Verifica se existe alguma imagem para ser importada
      if($image)//Existe uma imagem para ser importada
      {
         //Retira os elementos "/"
         $filename = stripslashes($_FILES['file']['name']);

         //Verifica qual a extensão do ficheiro
         $extension = getExtension($filename);

         //Coloca todos os caracteres da extensão com letra minuscula
          $extension = strtolower($extension);

         //Verifica os formatos de imagem que podem ser importados
         if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "gif"))//Formato diferente dos permitidos
          {
            //print error message
             echo "<strong>Imagem:</strong> Este formato não pode ser importado! Utilize o formato jpg ou gif";
          }
          else//Formato permitido
         {
            //Verifica qual o tamanho da imagem seleccionada
             $size=filesize($_FILES['file']['tmp_name']);

            //Verifica se o tamanho é superior a 100kb
            if ($size > MAX_SIZE*1024)//tamanho superior
            {
               echo "A imagem nao pode execer o tamanho de 100kb";
            }
            else//tamanho inferior
            {
               //Gera um nome para a imagem
               $image_name=time().'.'.$extension;

               //Directoria para a qual a imagem será enviada
               $newname="fotos/".$image_name;

               //Efectua o upload da imagem para a directoria
               $copied = copy($_FILES['file']['tmp_name'], $newname);

                  //Verifica se o upload foi efectuado com sucesso
                  if ($copied) //Upload bem sucessido
                  {
                     echo "Upload da imagem foi efectuado com sucesso";
                     
                  }
                  else//Upload mal sucessido
                  {
                     echo "Não foi possivél efectuar o upload da imagem";
                  }
            }
         }
       }
      else//Não existe nenhuma imagem para ser importada
      {
         echo "Seleccione uma imagem";
      }
      
   }   
?>

Observação: Caso tenha indicado alguma coisa mal, agradeço que mo indiquem e caso haja uma implementação de modo a melhorar este código, façam favor de efectuar a sua correção. Obrigado.

XSnake1996
Administradores
Administradores

Mensagens : 48
Moedas Moedas : 0
Pixels Pixels : 2446
Respeito Respeito : 3
Data de inscrição : 11/06/2010
Idade : 20

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [PHP] Upload de imagem

Mensagem por @_Kaio em Sex Jun 11, 2010 2:22 pm

UPP

@_Kaio
Administradores
Administradores

Mensagens : 42
Moedas Moedas : 9223372036854775807
Pixels Pixels : 2436
Respeito Respeito : 3
Data de inscrição : 09/06/2010

Ver perfil do usuário http://trevaforum.forumeiros.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum