(PHP 4 >= 4.0.3, PHP 5, PHP 7)
is_uploaded_file — Diz se o arquivo foi enviado por POST HTTP
$filename
)
Retorna TRUE
se o arquivo com o nome filename
foi enviado por POST HTTP. Isto é útil para ter certeza que um
usuário malicioso não está tentando levar o script a trabalhar
em arquivos que não deve estar trabalhando --- por exemplo,
/etc/passwd.
Este tipo de confirmação é importante principalmente se existe alguma chance que qualquer coisa feita com os arquivos carregados possa revelar seu conteúdo para o usuário, ou mesmo para outros usuários no mesmo sistema.
Para o funcionamento apropriado, a função is_uploaded_file() precisa de um argumento como $_FILES['userfile']['tmp_name'], - o nome do arquivo enviado na máquina do cliente $_FILES['userfile']['name'] não funciona.
filename
O nome do arquivo sendo checado.
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
Exemplo #1 Exemplo de is_uploaded_file()
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "O arquivo ". $_FILES['userfile']['name'] ." foi enviado com sucesso.\n";
echo "Mostrando o conteúdo\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possível ataque de envio de arquivo: ";
echo "nome do arquivo '". $_FILES['userfile']['tmp_name'] . "'.";
}
?>