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

phpis_uploaded_file(string $filename): bool

Exemplo

Vamos verificar se um arquivo foi enviado através de um formulário:

php<?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<?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