Mudanças entre as edições de "Como fazer upload de arquivos via PHP?"

De Wiki
Ir para: navegação, pesquisa
Linha 8: Linha 8:
 
'''1° passo''': Criando o formulário de envio
 
'''1° passo''': Criando o formulário de envio
  
Crie um arquivo HTML com o nome '''seleciona.htm''' e inclua neste arquivo o formulário abaixo.
+
Crie um arquivo HTML com o nome '''upload.html''' ou insira o código em seu formulário já existente, conforme abaixo.
  
[[Imagem:form2.png|link=]]
+
[[Arquivo:Formulariophp.jpg|border]]
  
  
 
O código do formulário acima é o seguinte:
 
O código do formulário acima é o seguinte:
 +
 +
<html>
 
   
 
   
 
+
<body>
<html> <br>
+
 
+
:<form action="envia.php" enctype="multipart/form-data" method="POST">
<body>
+
:Selecione o arquivo desejado: <input name="arquivo" size="20" type="file"/>
 
+
:<input type="submit" value="Enviar"/>
 +
:</form>
 
   
 
   
 
+
</body>
:    <form action="grava.sphp" ENCtype="multipart/form-data" method="post" name="form">
+
 
+
</html>
::        Selecione o arquivo desejado:<input type="file" name="txt_arquivo"><br>
+
 
+
::        <input type="submit" value="Enviar para o site">
+
 
+
:    </form>
+
  
 
   
 
   
  
</body>
+
'''2° passo''': Criando o script PHP
  
</html>
+
Crie um arquivo chamado '''envia.php''' com o seguinte conteúdo:
  
 +
<html>
 
   
 
   
 +
<body>
 +
 +
<?php
 +
 +
:      /* Insira aqui a pasta que deseja salvar o arquivo. Ex: imagens */
 +
:
 +
:      $uploaddir = 'imagens/';
 +
:
 +
:      $uploadfile = $uploaddir . $_FILES['arquivo']['name'];
 +
:
 +
:      if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploadfile)){
 +
:
 +
:      echo "Arquivo Enviado";}
 +
:
 +
:      else {echo "Houve um problema no upload do arquivo.";}
 +
 +
?>
 +
 +
</body>
 +
 +
</html>
  
'''2° passo''': Criando o script PHP
 
  
Crie um arquivo chamado grava.sphp com o seguinte conteúdo:
+
'''3º passo''': Criando o arquivo '''.htaccess'''
  
<html>
+
Para que seja permitido o envio de arquivos maiores que 12MB (configuração padrão em nossos servidores,) é necessário a criação do arquivo '''.htaccess''' para alterar as diretivas do PHP.
  
<body>
+
Crie um arquivo chamado '''.htaccess''' com o seguinte conteúdo:
  
  
<?php
+
php_value post_max_size 50M
  
:    if(!copy($txt_arquivo, "$txt_arquivo_name"))
+
php_value upload_max_filesize 50M
:    {
+
::        <nowiki>print "<p align='center'><font face='Arial' size='2'><b>Problema no upload do arquivo.</b></p></font>";</nowiki>
+
:    }
+
:    else
+
:    {
+
::      <nowiki> print "<p align='center'><font face='Arial' size='2'><b>OK!</b></p></font>";</nowiki>
+
:    }
+
  
?>
+
php_value max_execution_time 90
  
  
</body>
+
'''NOTA:''' O exemplo acima irá permitir o envio de arquivos com até 50MB e a execução do upload poderá ocorrer em até no máximo 90 segundos.
  
</html>
 
  
 +
'''4º passo''': Testando o funcionamento
  
'''3º passo''': Testando o funcionamento
+
Envie os arquivos '''upload.html''', '''envia.php''' e '''.htaccess''' para a raiz do seu site e teste acessando:
  
Envie os arquivos seleciona.htm e grava.sphp para seu site e teste acessando:
+
'''<nowiki>http://<seu_domínio>/upload.html</nowiki>'''
  
<nowiki>http://<seu_domínio>/seleciona.htm</nowiki>
+
O script irá gravar o arquivo selecionado para upload na mesma pasta que foi definida através do arquivo '''envia.php'''.
 
+
+
O script irá gravar o arquivo selecionado para upload na mesma pasta em que se encontra o script grava.sphp.
+
 
</font>
 
</font>

Edição das 09h13min de 24 de maio de 2016

Para fazer upload de arquivos de via PHP em um domínio hospedado na CentralServer, o nome do seu script deverá estar no formato <nome_programa>.sphp.

O exemplo abaixo demonstra como efetuar upload utilizando um formulário HTML:


1° passo: Criando o formulário de envio

Crie um arquivo HTML com o nome upload.html ou insira o código em seu formulário já existente, conforme abaixo.

Formulariophp.jpg


O código do formulário acima é o seguinte:

<html> 

<body>

:<form action="envia.php" enctype="multipart/form-data" method="POST">
:Selecione o arquivo desejado: <input name="arquivo" size="20" type="file"/>
:<input type="submit" value="Enviar"/>
:</form>

</body>

</html>


2° passo: Criando o script PHP

Crie um arquivo chamado envia.php com o seguinte conteúdo:

<html>

<body>

<?php

:       /* Insira aqui a pasta que deseja salvar o arquivo. Ex: imagens */
:
:       $uploaddir = 'imagens/';
:
:       $uploadfile = $uploaddir . $_FILES['arquivo']['name'];
:
:       if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploadfile)){
:
:       echo "Arquivo Enviado";}
:
:       else {echo "Houve um problema no upload do arquivo.";}

?>

</body>

</html>


3º passo: Criando o arquivo .htaccess

Para que seja permitido o envio de arquivos maiores que 12MB (configuração padrão em nossos servidores,) é necessário a criação do arquivo .htaccess para alterar as diretivas do PHP.

Crie um arquivo chamado .htaccess com o seguinte conteúdo:


php_value post_max_size 50M

php_value upload_max_filesize 50M

php_value max_execution_time 90


NOTA: O exemplo acima irá permitir o envio de arquivos com até 50MB e a execução do upload poderá ocorrer em até no máximo 90 segundos.


4º passo: Testando o funcionamento

Envie os arquivos upload.html, envia.php e .htaccess para a raiz do seu site e teste acessando:

http://<seu_domínio>/upload.html

O script irá gravar o arquivo selecionado para upload na mesma pasta que foi definida através do arquivo envia.php.