PHP에서 업로드 이미지 크기를 설정하는 방법: 1. "php.conf" 파일을 엽니다. 2. "ini_set('max_input_time','90');"을 설정합니다. 3. "ini_set('post_max_size', '12M' );" 그게 다입니다.
이 기사의 운영 환경: linux5.9.8 시스템, PHP 버전 7.1, Dell G3 컴퓨터.
PHP에서 업로드 이미지 크기를 설정하는 방법은 무엇입니까?
PHP에서 이미지 파일 업로드 크기를 설정하는 방법
PHP의 기본 업로드 제한은 최대 2M입니다. 이 설정을 초과하는 파일을 업로드하려면 PHP, Apache 등의 일부 매개변수를 조정해야 합니다.
아래에서는 PHP 파일 업로드와 관련된 몇 가지 매개변수를 간략하게 소개합니다.
file_uploads: HTTP 스위치를 통한 파일 업로드 허용 여부, 기본값은 ON입니다.
upload_tmp_dir: upload_tmp_dir은 PHP에서 업로드한 파일이 저장되는 임시 디렉터리를 설명하는 데 사용됩니다. 파일을 업로드하려면 서버가 임시 파일을 닫지 않고 폴더에 대한 쓰기 권한이 있는지 확인해야 합니다. , PHP는 시스템 기본값을 사용합니다.
upload_max_filesize: 허용되는 최대 업로드 파일 크기, 기본값은 2M입니다.
post_max_size: POST 메서드를 사용하여 양식을 제출하는 동안 PHP가 수신할 수 있는 최대 데이터 양을 제어합니다. PHP 파일 업로드 기능을 사용하려면 이 값을 upload_max_filesize보다 크게 변경해야 합니다.
max_input_time: POST, GET, PUT을 통해 데이터를 수신하는 시간을 초 단위로 제한합니다. 애플리케이션이 느린 링크에서 실행 중인 경우 데이터 수신에 필요한 추가 시간을 수용하기 위해 이 값을 늘려야 할 수도 있습니다.
memory_limit: 스크립트 실행 시 시스템에서 사용 가능한 메모리를 많이 사용하지 않도록 하기 위해 PHP에서는 메모리 사용 제한을 정의할 수 있습니다. 단일 스크립트가 사용할 수 있는 최대 메모리 용량을 지정하려면 memory_limit 변수를 사용하십시오. memory_limit 변수의 값은 post_max_size의 값보다 적절하게 커야 합니다.
max_execution_time: max_execution_time은 스크립트를 강제로 종료하기 전에 PHP가 스크립트가 완료될 때까지 기다리는 시간을 설정합니다. 이 시간은 초 단위로 계산됩니다. 이 변수는 스크립트가 무한 루프에 들어갈 때 유용합니다. 그러나 이 기능은 완료하는 데 오랜 시간이 걸리는 합법적인 활동(예: 대용량 파일 업로드)이 있는 경우 작업이 실패할 수도 있습니다. 그러한 경우, PHP가 일부 중요한 프로세스를 수행하는 동안 스크립트를 종료하지 않도록 이 변수의 값을 늘리는 것을 고려해야 합니다.
Linux 호스트의 경우 /etc/httpd/conf.d/access.conf/ 아래에 php.conf 파일이 있을 수 있습니다. 이 파일은 일부 시스템의 파일 크기 제한 문제를 해결할 수 있습니다.
다음 코드를 PHP 업로드에 추가하여 다음과 같이 PHP가 대용량 파일을 업로드할 수 있도록 일시적으로 활성화합니다.
<?php //HTTP上传文件的开关,默认为ON即是开 ini_set('file_uploads','ON'); //通过POST、GET以及PUT方式接收数据时间进行限制为90秒 默认值:60 ini_set('max_input_time','90'); //脚本执行时间就由默认的30秒变为180秒 ini_set('max_execution_time', '180'); //Post变量由2M修改为8M,此值改为比upload_max_filesize要大 ini_set('post_max_size', '12M'); //上传文件修改也为8M,和上面这个有点关系,大小不等的关系。 ini_set('upload_max_filesize','10M'); //正在运行的脚本大量使用系统可用内存,上传图片给多点,最好比post_max_size大1.5倍 ini_set('memory_limit','20M'); ?>
위 변수가 성공적으로 수정되었는지 확인합니다.
<?php echo ini_get('file_uploads')."\n"; echo ini_get('max_input_time')."\n"; echo ini_get('max_execution_time')."\n"; echo ini_get('post_max_size')."\n"; echo ini_get('upload_max_filesize')."\n"; echo ini_get('memory_limit')."\n"; ?>
php.ini에서 세 가지 값 제약 관계의 크기를 포함하여 수정합니다. . 따라서 이는 임시 해결책입니다. 이것이 수정될 수 없는 이유는 안전 모드와 같은 PHP의 작동 모드와 관련이 있습니다.
ini_set 명령어는 안전 모드(max_execution_time, memory_limit, child_terminate)에서는 사용할 수 없습니다.
따라서 post_max_size 및 upload_max_filesize와 같은 항목은 다음 방법으로 수정할 수 없습니다.
ini_set('post_max_size','10M'); ini_set('upload_max_filesize','8M');
올바른 방법은 .htaccess 파일을 사용하는 것입니다.
php_value upload_max_filesize 8M php_value post_max_size 10M
사이트가 httpd.conf: AllowOverride All에서 구성된다는 전제가 있습니다.
upload_max_filesize의 수정 가능한 범위는 PHP_INI_PERDIR이라고 PHP 문서에 명시되어 있습니다. PHP_INI_PERDIR은 php.ini, httpd.conf 또는 .htaccess 파일에서 도메인 지시문을 수정할 수 있음을 의미합니다. PHP_INI_SYSTEM 도메인 지시문은 php.ini 및 httpd.conf 파일에서 수정할 수 있습니다. 따라서 int_set을 사용하여 upload_max_filesize를 수정할 수 없습니다. 수정 가능한 범위는 PHP_INI_ALL 뿐입니다. int_set으로 수정할 수 있습니다.
값을 얻는 방법:
if(@ini_get("file_uploads")) { $arrInfo['fileupload'] = "允许 - 文件 ".ini_get("upload_max_filesize")." - 表单:".ini_get("post_max_size"); } else { $arrInfo['fileupload'] = "<font color='red'>禁止</font>"; } if (get_cfg_var('register_globals')){ $arrInfo['onoff'] ="打开"; }else{ $arrInfo['onoff'] = "关闭"; }
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 업로드 이미지 크기를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!