Функión is_uploaded_file

La función is_uploaded_file verifica si el archivo especificado fue subido mediante una solicitud POST. Esta es una verificación importante de seguridad al trabajar con archivos subidos. La función acepta un parámetro - la ruta al archivo a verificar, y devuelve true si el archivo fue subido mediante POST, y false en caso contrario.

Sintaxis

phpis_uploaded_file(string $filename): bool

Ejemplo

Verifiquemos si un archivo fue subido mediante un formulario:

php<?php
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    echo 'File was uploaded via HTTP POST';
  } else {
    echo 'File was NOT uploaded via HTTP POST';
  }
?>

Ejemplo

Uso de la función en combinación con 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 'file uploaded successfully';
  } else {
    echo 'possible file upload attack';
  }
?>

Ver también

  • la función move_uploaded_file,
    que mueve de forma segura un archivo subido
  • la función file_exists,
    que verifica la existencia de un archivo (pero no solo los subidos)
  • la función tmpfile,
    que crea un archivo temporal
  • la función is_file,
    que verifica un archivo