Você está aqui: PHP ::: Dicas & Truques ::: Upload de Arquivos |
Quer fazer upload de arquivos em PHP? Comece entendendo o array $_FILESQuantidade de visualizações: 12478 vezes |
|
O array associativo $_FILES, que é uma variável superglobal, ou seja, pode ser acessada a partir de qualquer lugar de nossos scripts, foi introduzido na versão 4.1.0 do PHP, o que tornou $HTTP_POST_FILES obsoleto. O array $_FILES contém informações sobre o arquivo enviado ao servidor por meio de um formulário de upload. Entre estas informações podemos citar ("arquivo" é o nome do controle <input type="file"> no formulário): $_FILES['arquivo']['name'] - O nome original do arquivo na máquina do usuário. $_FILES['arquivo']['type'] - O mime type do arquivo, desde que o navegador forneça esta informação. Um exemplo seria "image/gif". Este mime type não é verificado pelo PHP e, portanto, não é uma boa idéia confiar nesta informação. $_FILES['arquivo']['size'] - O tamanho, em bytes, do arquivo enviado. $_FILES['arquivo']['tmp_name'] - O nome temporário atribuído ao arquivo pelo servidor. $_FILES['arquivo']['error'] - O código de erro associado a este upload de arquivo. Em geral checamos pela ocorrência do valor 0, igual à constante UPLOAD_ERR_OK, o que significa que o upload foi feito com sucesso. Antes de continuarmos, lembre-se de que os arquivos enviados ao servidor via upload são armazenados temporariamente no diretório temp do servidor, ou qualquer outro diretório indicado na diretiva upload_tmp_dir do php.ini. O arquivo fica neste local até o fim da execução do script atual. Para movê-lo para seu local definitivo, temos que usar a função move_uploaded_file(). Veja agora um exemplo de como obter as informações fornecidas no array $_FILES. Comece criando o seguinte formulário: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Upload de arquivos usando PHP</title> </head> <body> <form action="testes.php" method="post" enctype="multipart/form-data"> Arquivo: <input type="file" name="arquivo"><br> <input type="submit" name="submit" value="Enviar"> </form> </body> </html> Note que o valor da propriedade name do campo <input type="file"> é "arquivo". Tenha isso em mente enquanto continuamos. Veja agora o código para o arquivo PHP responsável por tratar o upload (testes.php): ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?
// vamos obter o nome original do arquivo na máquina do usuário
echo "O nome do arquivo é: " . $_FILES['arquivo']['name'];
echo "<br>O mime type do arquivo é: " .
$_FILES['arquivo']['type'];
echo "<br>O tamanho do arquivo é: " .
$_FILES['arquivo']['size'] . " bytes";
echo "<br>O nome temporário do arquivo é: " .
$_FILES['arquivo']['tmp_name'];
// vamos verificar o código do erro
if($_FILES['arquivo']['error'] == UPLOAD_ERR_OK)
echo "<br>Upload feito com sucesso";
else
echo "<br>Ocorreu um erro";
?>
Ao executar este exemplo, você terá um resultado parecido com: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- O nome do arquivo é: arquivo.txt O mime type do arquivo é: text/plain O tamanho do arquivo é: 84 bytes O nome temporário do arquivo é: /home/xxx/tmp/phpTgPCqL Upload feito com sucesso Em outras dicas nesta seção você aprenderá como usar a função move_uploaded_file() para salvar o arquivo enviado em seu local definitivo. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






