PHP 파일 업로드에 대한 기본 소개

小云云
풀어 주다: 2023-03-20 17:12:01
원래의
1684명이 탐색했습니다.

1. 파일 업로드

PHP를 통해 서버에 파일을 업로드할 수 있습니다. 데이터는 양식이나 게시물을 통해 서버에 제출할 수 있지만 게시물은 파일 형식의 데이터 정보를 제출할 수 없습니다.
1>php 파일 업로드 명령 구성

  1. file_uploads=on|off

     서버의 PHP 스크립트가 파일 업로드를 허용할 수 있는지 확인합니다.

  2. max_execution_time=integer
     치명적인 오류를 등록하기 전에 PHP 스크립트를 실행할 수 있는 최대 시간(초)입니다.

  3. memory_limit=integer

     스크립트가 할당할 수 있는 최대 메모리를 MB 단위로 설정합니다. 이렇게 하면 런어웨이 스크립트가 서버 메모리를 독점하는 것을 방지할 수 있습니다.

  4. upload_max_filesize=integer
     업로드된 파일의 최대 크기를 MB 단위로 설정합니다.

  5. upload_tmp_dir=string
     업로드된 파일은 파일이 최종 목적지로 이동될 때까지 처리되기 전에 서버의 임시 위치에 저장되도록 설정합니다.

  6. post_max_size=integer
     POST 메서드를 통해 허용될 수 있는 정보의 최대 크기(MB)를 결정합니다.

2>$_FILES 배열

<form action="upload_file.php" method="post"enctype="multipart/form-data">
    <label for="file">上传文件:</label>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000"/>
    <input type="file" name="file" id="file" /> 
    <img id="preview">
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>
로그인 후 복사

ENCTYPE=”다중 부분/양식 데이터”:
이는 고정된 쓰기 방법입니다. 그렇지 않으면 파일 업로드가 실패합니다.
ACTION=”upload.php”:
업로드를 처리할 프로그램 파일 경로를 정의합니다.
방법=”게시물”:
전송 방법을 POST로 정의합니다. 일반적으로 양식 제출 데이터는 POST로 설정됩니다.

업로드되는 파일 크기의 상한을 정의하는 숨겨진 필드입니다. 이 값을 초과하면 업로드가 실패합니다. 파일 업로드 도메인 앞에 정의해야 하며 여기에 정의된 값은 php.ini 파일의 upload_max_filesize에 설정된 값을 초과할 수 없습니다. 그렇지 않으면 의미가 없습니다. (참고: MAX_FILE_SIZE 값은 단지 제안일 뿐입니다. 실제로는 쉽게 우회할 수 있으므로 브라우저 제한에 의존하지 마십시오. 실제로 PHP.ini 설정에서 업로드된 파일의 최대값은 유효하지 않지만 이를 추가하는 것이 가장 좋습니다. MAX_FILE_SIZE를 사용하면 사용자가 대용량 파일이 업로드될 때까지 기다리다가 파일이 너무 크다는 사실을 발견하는 수고를 덜 수 있기 때문입니다.)

이는 파일 업로드 도메인입니다. Type 속성은 file로 설정되어야 하지만 Name 속성은 코드 파일에서 사용됩니다.

<?php
    print_r($_FILES);?>
로그인 후 복사

$_FILES PHP 스크립트를 통해 서버에 업로드되는 파일에 중요한 다양한 업로드 관련 정보를 저장하는 슈퍼 전역 변수입니다.
1.

_FILES["file"]["name"] 변수에 저장된 값은 사용자 시스템의 파일 이름입니다.
3. _FILES["file"]["type"] 변수에 저장된 값은 파일의 MIME 유형입니다(예: text/plain 또는 image/gif).
5. $_FILES["file"]["error"] 변수에 저장된 값은 파일 업로드와 관련된 오류 코드입니다. 이것은 PHP4.2.0에 추가된 새로운 기능입니다.
error는 각각 몇 가지 배열 상수를 제공합니다:
+ 0: 오류가 발생하지 않았음을 나타냅니다.
+ 1: 업로드된 파일의 크기가 합의된 크기를 초과했음을 나타냅니다. 최대 파일 크기는 PHP 구성 파일에 지정되어 있으며 지시어는 upload_max_filesize입니다.
+ 2: 업로드된 파일 크기가 HTML 양식의 MAX_FILE_SIZE 요소에 지정된 최대값을 초과했음을 나타냅니다.
+ 3: 파일이 부분적으로만 업로드되었음을 나타냅니다.
+ 4: 업로드된 파일이 없음을 나타냅니다.

3>업로드 기능
PHP는 특히 파일 업로드 프로세스를 위해 is_uploaded_file() 및 move_uploaded_file()이라는 두 가지 기능을 제공합니다.

//确定是否上传文件if (is_uploaded_file($_FILES["file"]["tmp_name"])) {    echo '已经上传到临时文件夹';    $filename = "upload".time()."png";    //移动上传文件(将文件移动到指定文件夹)
    if (!move_uploaded_file($_FILES["file"]["tmp_name"],img/,$filename)) {        echo '移动失败';        exit;
    }else{        echo "移动成功";
    }
} else {    echo '失败';
}
로그인 후 복사

2. 파일 디렉터리

관련 데이터를 파일 및 디렉터리로 구성합니다. 프로그래머는 위치, 크기, 마지막 수정 시간, 마지막 액세스 시간 등 파일 및 디렉터리에 대한 중요한 세부 정보를 얻을 수 있는 방법이 필요합니다. 기타 식별 정보.
1>디렉터리 작업
+ 현재 파일 경로 가져오기
1. __FILE__
 현재 파일 경로 + 현재 파일 이름
2. __DIR__
 현재 파일 경로
3. dirname(__FILE__)
 현재 파일 경로
4. basename(__FILE__)
현재 파일 이름
5. pathinfo(__FILE__)
fluence 다음을 포함하여 경로에 대한 정보의 연관 배열: 디렉터리 이름, 기본 이름 및 확장자
6. realpath(__FILE__)
절대 경로(이 파일이 현재 프로젝트 아래에 존재함) 절대 경로를 얻으십시오. 현재 파일에서 해당 파일 경로 정보만 읽을 수 있습니다.)

__FILE__ 및 __DIR__은 현재 파일에 대한 것이고, dinrname() 및 basename()은 임의의 파일 경로에 대한 것입니다.

2> 디스크, 디렉터리 및 파일 크기 계산
1. 파일 크기
filesize($path)
파일 크기를 바이트 단위로 계산합니다.

$file = __FILE__;echo round(filesize($file)/1024).'KB';
로그인 후 복사
  1. 디스크 여유 공간 크기
    disk_free_space()
    지정된 디렉터리가 위치한 디스크 파티션의 사용 가능한 공간입니다.

$drive = 'C:';echo round(disk_free_space($drive)/1024/1024/1024,2).'GB';
로그인 후 복사
  1. 磁盘的总容量
     disk_total_space()
     指定的目录所在磁盘分区的总容量。

$drive = 'C:';echo round(disk_total_space($drive)/1024/1024/1027,2).'GB';
로그인 후 복사

相关推荐:

php文件上传简单实例分享

php文件上传类及PHP封装的多文件上传类分享

HTML5 Ajax文件上传进度条如何显示

위 내용은 PHP 파일 업로드에 대한 기본 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿