>  기사  >  백엔드 개발  >  업로드된 파일 정보를 수신하기 위해 PHP는 어떤 시스템 배열을 사용합니까?

업로드된 파일 정보를 수신하기 위해 PHP는 어떤 시스템 배열을 사용합니까?

WBOY
WBOY원래의
2023-05-06 10:43:07752검색

업로드된 파일 정보를 수신하기 위해 PHP가 사용하는 시스템 배열은 $_FILES입니다.

PHP에서는 사진, 비디오, 기타 파일 업로드 등 파일 업로드를 처리해야 하는 경우가 많습니다. 업로드 프로세스 중 관련 정보 및 데이터를 처리하기 위해 PHP는 업로드된 파일 정보를 저장하는 특수 시스템 배열 $_FILES를 제공합니다.

$_FILES 변수는 다음 구조를 갖는 2차원 연관 배열입니다.

$_FILES = array(
    'file' => array(
        'name' => 'filename.txt',             //文件名
        'type' => 'text/plain',               //文件MIME类型
        'tmp_name' => '/tmp/php/php1h4jCk',   //上传的临时文件名
        'error' => 0,                         //上传的错误代码
        'size' => 123                           //上传文件的大小
   )
);

여기서 배열의 "file"은 다음 HTML 코드와 같은 양식 요소의 이름입니다.

<form enctype="multipart/form-data" method="POST">
    <input type="file" name="file"/>
</form>

이 양식에서, "file" 양식 요소의 이름입니다.

$_FILES에 저장되는 특정 정보는 다음과 같습니다.

  • name: 업로드된 파일 이름.
  • type: 업로드된 파일의 MIME 유형입니다.
  • tmp_name: 업로드된 임시 파일의 이름으로, 서버측 임시 디렉터리에 저장됩니다.
  • error: 업로드된 파일의 오류 코드입니다. 0이면 업로드가 성공한 것입니다.
  • 크기: 업로드된 파일의 크기입니다.

다음은 $_FILES의 각 필드의 의미입니다.

  • name

파일 경로를 제외한 업로드된 파일의 원본 파일 이름입니다. 파일이 업로드될 때 파일 이름이 수정되면 이 변수는 새 파일 이름을 저장합니다.

  • type

업로드된 파일의 MIME 유형, 즉 text/plain, application/octet-stream 등과 같은 파일의 콘텐츠 유형입니다.

  • tmp_name

업로드된 파일의 임시 파일명과 이 임시 파일을 저장할 경로입니다. 이 경로는 서버 측의 임시 디렉터리입니다.

  • error

파일 업로드 오류 코드입니다. 업로드가 성공하면 이 값은 0입니다. 다른 가능한 값은 다음과 같습니다:

- UPLOAD_ERR_OK:文件上传成功。
- UPLOAD_ERR_INI_SIZE:上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值。
- UPLOAD_ERR_FORM_SIZE:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
- UPLOAD_ERR_PARTIAL:文件只有部分被上传。
- UPLOAD_ERR_NO_FILE:没有文件被上传。
- UPLOAD_ERR_CANT_WRITE:写入磁盘失败。
- UPLOAD_ERR_EXTENSION:PHP扩展停止文件上传。
  • size

업로드된 파일의 크기(바이트)입니다.

$_FILES 변수 사용 예:

양식에 이미지를 업로드하려면 다음 HTML 코드를 사용할 수 있습니다.

<form enctype="multipart/form-data" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    <input type="file" name="image" />
    <input type="submit" name="submit" value="Upload Image" />
</form>

서버 측에서는 다음 PHP 코드를 사용하여 파일 업로드를 처리할 수 있습니다.

<?php
if(isset($_POST['submit']))
{
    $file = $_FILES['image'];
    $filename = $file['name'];
    $filetmp = $file['tmp_name'];
    $filesize = $file['size'];
    $filetype = $file['type'];

    // TODO: 处理上传文件

    move_uploaded_file($filetmp, "uploads/" . $filename);
}
?>

업로드된 파일을 처리할 때 먼저 제출된 양식에 "제출" 필드가 포함되어 있는지 확인합니다. 이는 양식을 제출하지 않고 업로드된 파일을 처리할 때 오류가 발생하는 것을 방지하기 위함입니다.

먼저 $_FILES 변수에서 파일 정보를 가져오고 $filename, $filetmp, $filesize 및 $filetype 변수를 정의하여 각각 파일 이름, 업로드된 파일의 임시 파일 이름, 파일 크기 및 MIME 유형을 저장합니다. .

다음으로, PHP 함수 move_uploaded_file() 함수를 사용하여 업로드된 파일을 임시 디렉터리에서 위 예의 "uploads/" 디렉터리와 같이 파일을 저장하는 지정된 디렉터리로 이동할 수 있습니다.

요약:

$_FILES는 PHP에서 파일 업로드를 처리하는 주요 변수입니다. 여기에는 파일 이름, MIME 유형, 업로드 임시 파일 이름, 크기 등 업로드된 파일에 대한 다양한 정보가 포함되어 있습니다. $_FILES를 사용할 때 양식 제출 시점, 업로드된 파일 처리 로직, 업로드된 파일의 저장 방법에 주의해야 합니다.

위 내용은 업로드된 파일 정보를 수신하기 위해 PHP는 어떤 시스템 배열을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.