move_uploaded_file 함수

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

move_uploaded_file — 업로드된 파일을 새 위치로 이동합니다.


설명

move_uploaded_file(string $from, string $to): bool

이 함수는 from이 지정한 파일이 유효한 업로드 파일인지 확인합니다(PHP의 HTTP POST 업로드 메커니즘을 통해 업로드되었음을 의미). 파일이 유효하면 to가 지정한 파일 이름으로 이동합니다.

이러한 종류의 검사는 업로드된 파일로 수행된 작업으로 인해 해당 콘텐츠가 사용자에게 공개되거나 동일한 시스템의 다른 사용자에게도 공개될 가능성이 있는 경우 특히 중요합니다.


매개변수

from
업로드된 파일의 파일 이름입니다.
to
이동된 파일의 대상입니다.

반환 값

성공하면 true를 반환합니다.

from이 유효한 업로드 파일이 아니면 아무 작업도 발생하지 않으며 move_uploaded_file()false를 반환합니다.

from이 유효한 업로드 파일이지만 어떤 이유로 이동할 수 없는 경우 작업이 발생하지 않고 move_uploaded_file()false를 반환합니다. 또한 경고가 발행됩니다.


Examples

예제 #1 여러 파일 업로드

                  
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() may prevent filesystem traversal attacks;
        // further validation/sanitation of the filename may be appropriate
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>
                  
                

노트

참고: move_uploaded_file()open_basedir를 인식합니다. 그러나 제한은 from이 이러한 제한과 충돌할 수 있는 업로드된 파일의 이동을 허용하기 위해 to 경로에만 적용됩니다. move_uploaded_file()은 PHP를 통해 업로드된 파일만 이동할 수 있도록 하여 이 작업의 안전성을 보장합니다.

경고 대상 파일이 이미 있는 경우 덮어씁니다.


기타