>  기사  >  백엔드 개발  >  PHP 파일 업로드 기능을 구현하도록 php.ini를 구성합니다.

PHP 파일 업로드 기능을 구현하도록 php.ini를 구성합니다.

伊谢尔伦
伊谢尔伦원래의
2016-11-25 13:56:251341검색

php.ini의 파일 업로드 기능에 대한 구성 옵션 설명

텍스트 도구(EditPlus 권장)를 사용하여 php.ini 구성 파일을 열고 파일 업로드를 찾으세요. 다음 3가지 옵션이 있습니다. 이 영역에서:

file_uploads = On

HTTP 파일 업로드 허용 여부. HTTP 파일 업로드를 허용하려면 기본값이 On이며, 이 옵션을 Off로 설정할 수 없습니다.

upload_tmp_dir =

파일 업로드를 위한 임시 저장 디렉터리입니다. 지정하지 않으면 PHP는 시스템의 기본 임시 디렉터리를 사용합니다. 이 옵션은 기본적으로 비어 있습니다. 이 옵션은 PHP 실행 환경을 수동으로 구성할 때 잊어버리기 쉽습니다. 이 옵션을 구성하지 않으면 이 옵션에 upload_tmp_dir = "와 같은 값을 할당해야 합니다. d:/fileuploadtmp". D 드라이브 디렉터리에 fileuploadtmp 디렉터리가 있고, 이 디렉터리에 읽기 및 쓰기 권한이 부여되었음을 의미합니다.

upload_max_filesize = 2M

업로드되는 파일의 최대 크기입니다. 이 옵션의 기본값은 2M입니다. 즉, 파일 업로드 크기는 2M입니다. 50M 파일을 업로드하려면 upload_max_filesize = 50M를 설정해야 합니다.
하지만 upload_max_filesize = 50M로 설정하는 것만으로는 대용량 파일의 업로드 기능을 구현할 수 없습니다. php.ini 파일에서 post_max_size 옵션도 수정해야 합니다.

php.ini에서 Data Handling을 계속 검색하세요. 이 영역에는 1개의 옵션이 있습니다:

post_max_size = 8M

PHP가 POST Maximum 형식을 통해 수신할 수 있는 항목을 나타냅니다. 값(양식의 모든 값 포함) 기본값은 8M입니다. POST 데이터가 제한을 초과하면 $_POST 및 $_FILES가 비어 있게 됩니다.
대용량 파일을 업로드하려면 이 옵션의 값을 upload_max_filesize 옵션의 값보다 크게 설정해야 합니다. 예를 들어 upload_max_filesize = 50M로 설정하면 post_max_size = 100M로 설정할 수 있습니다.
또한, 메모리 제한이 활성화된 경우 해당 값은 memory_limit 옵션의 값보다 작아야 합니다.

계속해서 php.ini에서 리소스 제한을 찾으세요. 이 영역에는 3가지 옵션이 있습니다:

max_execution_time = 30

실행할 각 PHP 페이지의 최대 시간 값 (단위초), 기본값은 30초입니다. 50M 파일과 같은 더 큰 파일을 업로드하는 경우 완료하는 데 몇 분이 걸릴 수 있습니다. 그러나 PHP 페이지의 기본 최대 실행 시간은 30초를 초과하면 스크립트 실행이 중지됩니다. 이로 인해 웹 페이지를 열 때 사용할 수 없게 됩니다. 따라서 max_execution_time = 600과 같이 더 큰 값을 설정할 수 있습니다. 0으로 설정하면 시간 제한이 없음을 의미합니다.

max_input_time = 60

요청 데이터를 구문 분석하기 위해 각 PHP 스크립트에서 사용하는 시간(초)이며 기본값은 60초입니다. 대용량 파일을 업로드할 때 이 값을 더 크게 설정할 수 있습니다. 0으로 설정하면 시간 제한이 없음을 의미합니다.

memory_limit = 128M

이 옵션은 단일 PHP 스크립트가 적용할 수 있는 최대 메모리 공간을 설정하는 데 사용됩니다. 이는 잘못 작성된 스크립트가 서버에서 사용 가능한 메모리를 차지하는 것을 방지하는 데 도움이 됩니다. 메모리 제약 조건이 필요하지 않으면 이 값을 -1로 설정합니다.
php5.2.0의 기본 버전은 8M입니다. php.5.2.0의 기본 버전은 16M입니다. php 5.2.0 이후 버전은 기본적으로 128M입니다.

php.ini 파일 업로드 기능 구성 예시

50M의 대용량 파일을 업로드한다고 가정해 보겠습니다. php.ini를 다음과 같이 구성합니다:
file_uploads = On
upload_tmp_dir = "d:/fileuploadtmp"
upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 128M

팁: memory_limit > post_max_size > upload_max_filesize를 유지해야 합니다.

이 예는 참고용일 뿐이며 실제 상황에 따라 조정할 수 있습니다.


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