파일 업로드LOGIN

파일 업로드

php 파일 업로드

파일 업로드 기능은 HTML 페이지와 PHP 처리 부분의 두 부분으로 구성됩니다. HTML 페이지에서는 주로 사용자가 업로드할 파일을 선택할 수 있으며, PHP 부분에서는 서버의 지정된 디렉터리에 파일을 저장할 수 있습니다.

1. HTML 부분

upload.html

<html>
    <head>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    </head>
    <body>
        上传Demo:
        <form action="upload.php" method="post" enctype="multipart/form-data">
            <input type="file" name="img" />
            <input type="submit" name="submit" value="上传" />
        </form>
    </body>
</html>

설명:
1. 입력 태그의 Type="file"은 입력이 파일로 처리됨을 나타냅니다.
2.Enctype은 이 양식을 제출할 때 사용할 콘텐츠 유형을 지정합니다. 양식에 파일 콘텐츠와 같은 바이너리 데이터가 필요한 경우 파일을 업로드하려면 "multipart/form-data"를 사용하세요.
enctype에 대한 자세한 내용은 "HTML <form> 태그의 enctype 속성"을 참조하세요.

2. PHP 부분

upload.php

<?php
$DST_DIR = '/data/upload/';
if ($_FILES['img']['name'] != '') {
    if ($_FILES['img']['error'] > 0) {
        echo "上传失败";
    }
    else {
        if (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) {
            echo "上传成功";
        }
        else {
            echo "上传失败";
        }
    }
}
else {
    echo "请上传文件";
}

설명:
1. 전역 변수 $_FILE
이 배열에는 업로드된 모든 파일 정보가 포함됩니다.
위 예시와 같이 파일 업로드 필드 이름이 img라고 가정해 보겠습니다. 그러면
$_FILES['img']['name']
클라이언트가 업로드한 파일의 원래 이름입니다.
$_FILES['img']['type']
브라우저가 이 정보를 제공하는 경우 파일의 MIME 유형입니다. 예를 들면 "이미지/gif"입니다. 그러나 이 MIME 유형은 PHP 측에서 확인되지 않으므로 이 값이 있다고 당연하게 여기지 마십시오. $_FILES['img']['size']: 업로드된 파일의 크기(바이트)입니다.
$_FILES['img']['size']
업로드된 파일의 크기(바이트)입니다.
$_FILES['img']['tmp_name']
파일 업로드 후 서버에 저장되는 임시 파일 이름입니다.
$_FILES['img']['error']
파일 업로드 관련 오류 코드입니다.

2. 오류 코드 정보
$_FILES['img']['error']에는 다음과 같은 유형이 있습니다.
UPLOAD_ERR_OK
값이 0이고 오류가 발생하지 않았으며 파일이 업로드됩니다. 성공했습니다.
UPLOAD_ERR_INI_SIZE
값은 1이고, 업로드된 파일이 php.ini의 upload_max_filesize 옵션에 의해 제한되는 값을 초과합니다.
UPLOAD_ERR_FORM_SIZE
값은 2이며, 업로드된 파일의 크기가 HTML 형식의 MAX_FILE_SIZE 옵션에서 지정한 값을 초과합니다.
UPLOAD_ERR_PARTIAL
값은 3이며, 파일의 일부만 업로드됩니다.
UPLOAD_ERR_NO_FILE
값은 4이며 업로드된 파일이 없습니다.
UPLOAD_ERR_NO_TMP_DIR
값이 6이면 임시 폴더를 찾을 수 없습니다. PHP 4.3.10 및 PHP 5.0.3이 도입되었습니다.
UPLOAD_ERR_CANT_WRITE
값은 7, 파일 쓰기에 실패했습니다. PHP 5.1.0이 도입되었습니다.


다음 섹션
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body> 上传Demo: <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="img" /> <input type="submit" name="submit" value="上传" /> </form> </body> </html>
코스웨어