Função is_uploaded_file
A função is_uploaded_file verifica se o arquivo especificado
foi enviado através de uma requisição POST. Esta é uma verificação de segurança importante
ao trabalhar com arquivos enviados. A função aceita um parâmetro -
caminho para o arquivo a ser verificado, e retorna true se o arquivo
foi enviado via POST, e false caso contrário.
Sintaxe
is_uploaded_file(string $filename): bool
Exemplo
Vamos verificar se um arquivo foi enviado através de um formulário:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'Arquivo foi enviado via HTTP POST';
} else {
echo 'Arquivo NÃO foi enviado via HTTP POST';
}
?>
Exemplo
Uso da função em combinação com move_uploaded_file:
<?php
$temp_file = $_FILES['userfile']['tmp_name'];
$target_file = 'uploads/' . $_FILES['userfile']['name'];
if (is_uploaded_file($temp_file)) {
move_uploaded_file($temp_file, $target_file);
echo 'arquivo enviado com sucesso';
} else {
echo 'possível ataque de envio de arquivo';
}
?>
Veja também
-
a função
move_uploaded_file,
que move com segurança um arquivo enviado -
a função
file_exists,
que verifica a existência de um arquivo (mas não apenas os enviados) -
a função
tmpfile,
que cria um arquivo temporário -
a função
is_file,
que verifica um arquivo