Olá! Monday, 25 de June de 2018.



Dicas CódigoFonte.net
Wednesday, 31 de January de 2007

Sistema de upload de imagens

Olá galera,

Hoje foi ensiná-los como fazer um simples sisteminha que envia imagens para o servidor, usando PHP.

Segue o código do arquivo upload.php

  1. <?php
  2.  
  3. //Diretório aonde ficará os arquivos
  4. $dir = "./";
  5.  
  6. //Extensões permitidas
  7. $ext = array("gif","jpg","png");
  8.  
  9. //Quant. de campos do tipo FILE
  10. $campos = 6;
  11.  
  12. //Formulário
  13. echo '<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
  14.  Arquivo: <input type="file" name="file[]">
  15.  
  16.  Arquivo: <input type="file" name="file[]">
  17.  
  18.  Arquivo: <input type="file" name="file[]">
  19.  
  20.  Arquivo: <input type="file" name="file[]">
  21.  
  22.  Arquivo: <input type="file" name="file[]">
  23.  
  24.  Arquivo: <input type="file" name="file[]">
  25.  
  26.  <input type="submit" name="submit" value=" OK ">
  27.  </form>';
  28.  
  29.  
  30. //Se for enviado
  31. if (isset($_POST['submit'])) {
  32.  
  33. //Obtendo info. dos arquivos
  34. $f_name = $_FILES['file']['name'];
  35. $f_tmp = $_FILES['file']['tmp_name'];
  36. $f_type = $_FILES['file']['type'];
  37.  
  38.  
  39. //Contar arquivos enviados
  40. $cont=0;
  41.  
  42. //Repetindo de acordo com a quantidade de campos FILE
  43. for($i=0;$i<$campos;$i++){
  44.  
  45. //Pegando o nome
  46. $name = $f_name[$i];
  47.  
  48. //Verificando se o campo contem arquivo
  49.   if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {
  50.  
  51.     if ($cont==0) {
  52.       echo "<b>Arquivo(s) enviados:
  53. </b>";
  54.     }
  55.       echo $name." - ";
  56.  
  57.       //Movendo arquivo's do upload
  58.       $up = move_uploaded_file($f_tmp[$i], $dir.$name);
  59.  
  60.         //Status
  61.         if ($up==true):
  62.             echo  "<i>Enviado!</i>";
  63.               $cont++;
  64.         else:
  65.             echo "<i>Falhou!</i>";
  66.         endif;
  67.  
  68.       echo "
  69. ";
  70.   }
  71.  
  72. }
  73.  
  74. echo ($cont!=0) ? "<i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";
  75. }
  76. ?>


Caso você deseje exibir as imagens já postadas, adicione o seguinte código:

  1. <?php
  2. // extençoes aceitas
  3. foreach(array_merge(glob("*.gif"), glob("*.jpeg"), glob("*.jpg"), glob("*.png"), glob("*.JPG"), glob("*.PNG"), glob("*.GIF"), glob("*.JPEG")) as $arquivo ){
  4. echo "<img src='".$arquivo."'<span class='style1'>--</span>";
  5. }
  6. ?>


Espero ter ajudado.

Fonte: http://www.phplandia.net/

Comentários do artigo [Novo comentário]

Max Robson - 23 de October de 2008 - 16:06
XD
Fabio - 26 de October de 2008 - 13:32
Muito bom o post mas como faço para identificar sómente o ultimo upload?
Gilmario - 20 de November de 2008 - 23:53
ola amigo muito show esse post como fazer para exibi as imagens lado a lado ao invez de embaixo uma da outra com a opção de clicar e ser exibida em um preview central..?
zaqueu Batista Ribeiro - 27 de March de 2009 - 17:57
mó fino esse código.
zaqueu Batista Ribeiro - 27 de March de 2009 - 17:59
aqui talves alguem precise saber como direcionar o arquivo.
se for util basta colocar o nome da pasta no seguinte local
$dir = "./nome_da|_pasta/";

no meu caso foi muitissimo util.
Rafael da Costa Freire - 30 de March de 2009 - 11:32
Po eu tambem queria saber o que o gilmar ta perguntando, tenho um album e quero postar as fotos no banco phpadmin e clicando no algum as fotos aparecerem no centro da tela para apresentação..
ramon ribeiro farias - 22 de April de 2009 - 08:47
tem como redimensionar as imagens ? Oo
vlw muito bom esse codigo
Carlos Alberto parreira - 11 de May de 2009 - 01:28
otimo trabalho amigo, sou novo na área e tbm tenho a duvida de colocar uns thumb de preview com opção de aumentar se necessario ate salvar em banco de dados
marcelo - 01 de June de 2009 - 15:51
só aparece q nao foi enviado
Falhou! Nenhum arquivo foi enviado! =[
CARLOS - 28 de January de 2010 - 09:46
como tenho que fazer tenho que criar que tabela no mysql?
Scorpion2010 - 03 de July de 2010 - 19:54
Não deu certo estou com erro : Falhou! (nome do arquivo) Não foi enviado!
alvim - 16 de July de 2010 - 15:50
funcionou perfeitamente! só faltou um botao de excluir as imagens enviadas!!! mas ta show de bola!vlw
william - 30 de November de 2010 - 01:47
ola o meu não de certo aparece erro nessa linha, $up = move_uploaded_file($f_tmp[$i], $dir.$name);

onde eu devo mudar o codigo para que fuincione so preciso mudar a parte de onde sera armazenadas as fotos ou tem algo mais, se puderem me ajudar fico muito grato.

Lucas - 22 de February de 2012 - 16:55
dae pessoal ta dando um erro bem assim aqui

Notice: Undefined variable: PHP_SELF in C:\wamp\www\curso php\iniciante\upload.php on line 13

se alguem souber me ajudar responde ae
Gabriel - 23 de April de 2012 - 14:23
O erro da linha 13 não enfluencia em nada no funcionamento do upload.
Gabriel - 23 de April de 2012 - 14:25
Alguém poderia postar como excluir as imagens e como colocar um nome nas imagens?
Nathalia Almeida de Moraes - 07 de August de 2013 - 16:09
No erro da linha 13 (" ' .PHP_SELF. ' ") só tirar as aspas simples e deixar assim ( ".PHP_SELF." )
Sandro Feoli de Almeida - 26 de January de 2016 - 00:12
Eu resolvi o erro da linha 13 criando um arquivo com o formulário e na opção ACTION estou chamando o arquivo com o restante do conteúdo.
Porém ainda está acusando "Nenhum arquivo enviado." . Alguém poderia me ajudar????

Meu email é [email protected]

Obrigado.
Arthur Manso - 20 de March de 2016 - 20:42
Sandro Feoli, fiz o mesmo procedimento que você, mas também está acusando "nenhum arquivo enviado". Você conseguiu resolver???
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010