is_uploaded_file 함수

is_uploaded_file 함수는 지정된 파일이 POST 요청을 통해 업로드되었는지 확인합니다. 업로드된 파일을 다룰 때 중요한 보안 검사입니다. 이 함수는 하나의 매개변수, 즉 확인할 파일의 경로를 받아들이고, 파일이 POST를 통해 업로드되었다면 true를 반환하며, 그렇지 않으면 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 함수,
    파일인지 확인합니다.