>  기사  >  백엔드 개발  >  PHP.INI: 파일 업로드 기능 구성

PHP.INI: 파일 업로드 기능 구성

巴扎黑
巴扎黑원래의
2016-11-29 09:59:58957검색

참고: Apache Server인 경우 apache 폴더에 php.ini 파일을 구성해야 합니다.
PHP 파일 업로드 기능 구성에는 주로 php.ini 구성 파일의 upload_tmp_dir, upload_max_filesize, post_max_size와 같은 옵션이 포함됩니다.

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

php.ini 구성 파일을 열고 파일 업로드를 찾습니다.

file_uploads = On

HTTP 파일은 기본적으로 업로드가 허용되며, 이 옵션을 OFF로 설정할 수 없습니다.

upload_tmp_dir =

이 옵션은 PHP 실행 환경을 수동으로 구성할 때 잊어버리기 쉽습니다. 이 옵션을 구성하지 않으면 파일 업로드 기능을 구현할 수 없습니다. 옵션 세트 파일을 업로드할 때 파일이 저장되는 임시 디렉터리입니다. upload_tmp_dir ='/leapsoulcn'과 같이 이 옵션에 값을 할당해야 합니다. 이는 C 드라이브 디렉터리에 도약 디렉터리와 동일한 디렉터리가 있음을 의미합니다. 세션 구성. Linux 환경에 있는 경우 이 디렉터리에 쓰기 가능 권한을 부여해야 합니다.

8M가 넘는 대용량 파일은 어떻게 업로드하나요?

대용량 파일 업로드에는 주로 upload_max_filesize 및 post_max_size 옵션 구성이 포함됩니다.

php.ini 구성 파일의 기본 파일 업로드 크기는 2M입니다. PHP 초보자가 자주 범하는 실수 중 하나는 파일 업로드 기능을 작성할 때 업로드되는 파일의 최대 크기에 대한 양식 영역을 설정하는 것입니다. 즉, 업로드된 파일의 최대 크기가 허용됩니다. 업로드된 파일의 크기를 지정하는 최대값인 max_file_size(숨겨진 값 필드)는 실제로 일반적으로 이 값을 우회할 수 있으므로 안전상의 이유로 사용하는 것이 가장 좋습니다. 파일 업로드 크기를 설정하려면 php.ini 구성 파일에서 upload_max_filesize 옵션을 구성하세요.

기본 upload_max_filesize = 2M, 즉 파일 업로드 크기는 2M입니다. 예를 들어 20M 등 8M를 초과하는 파일을 업로드하려면 upload_max_filesize = 20M를 설정해야 합니다.

그러나 upload_max_filesize = 20M 설정만으로는 대용량 파일의 업로드 기능을 구현할 수 없습니다. POST에 허용되는 데이터의 최대 바이트 길이를 나타내는 php.ini 구성 파일의 post_max_size 옵션을 수정해야 합니다. 기본값은 8M입니다. POST 데이터가 제한을 초과하면 $_POST 및 $_FILES가 비어 있게 됩니다. 대용량 파일을 업로드하려면 이 옵션의 값을 upload_max_filesize 명령의 값보다 크게 설정해야 합니다. 저는 보통 upload_max_filesize와 post_max_size 값을 동일하게 설정합니다. 또한 메모리 제한이 활성화된 경우 이 값은 memory_limit 옵션 값보다 작아야 합니다.

기타 파일 업로드 주의사항

대용량 파일을 업로드할 때, 일정 시간을 초과하면 스크립트 실행이 30을 초과한다는 오류가 발생한다고 보고됩니다. 이는 php.ini 구성 파일의 max_execution_time 구성 옵션이 문제를 일으키기 때문입니다. 이는 각 스크립트의 최대 허용 실행 시간(초)을 나타내며 0은 제한이 없음을 나타냅니다. max_execution_time 값을 적절하게 조정할 수 있으며 0으로 설정하는 것은 권장되지 않습니다.

이제 위 단계의 실습과 학습을 통해 php.ini 구성 파일에서 파일 업로드 옵션을 구성하는 PHP 튜토리얼이 PHP 프로그램과 결합되어 소개되었습니다. 실현될 수 있습니다.

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