Функция is_uploaded_file

Функцията is_uploaded_file проверява дали посоченият файл е качен чрез POST заявка. Това е важна проверка за сигурност при работа с качени файлове. Функцията приема един параметър - пътят към проверявания файл, и връща true, ако файлът е качен чрез POST, и false в противен случай.

Синтаксис

phpis_uploaded_file(string $filename): bool

Пример

Да проверим дали файлът е качен чрез форма:

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';
  }
?>

Пример

Използване на функцията в комбинация с 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';
  }
?>

Вижте също

  • функцията move_uploaded_file,
    която безопасно премества качен файл
  • функцията file_exists,
    която проверява съществуването на файл (но не само на качени)
  • функцията tmpfile,
    която създава временен файл
  • функцията is_file,
    която проверява файл