본문 내용 PHP 그림 파일 업로드 크기 설정

4523 단어 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 는 메모리 사용 한 도 를 정의 할 수 있 습 니 다.memorylimit 변 수 는 단일 스 크 립 트 프로그램 에서 사용 할 수 있 는 최대 메모리 용량 변 수 를 지정 합 니 다 memorylimit 의 값 은 post 보다 적당히 커 야 합 니 다.max_size 의 값max_execution_time :max_execution_time 은 스 크 립 트 를 강제로 종료 하기 전에 PHP 가 스 크 립 트 가 실 행 될 때 까지 기다 리 는 시간 을 설정 합 니 다.이 시간 은 초 로 계 산 됩 니 다.스 크 립 트 가 무한 순환 상태 에 들 어 갔 을 때 이 변 수 는 매우 유용 합 니 다.그러나 오 랜 시간 이 걸 리 는 합 법 적 인 활동 이 존재 할 때(예 를 들 어 대형 파일 업로드)이 기능 도 작업 에 실패 할 수 있 습 니 다.이 경우 스 크 립 트 가 중요 한 과정 을 수행 하고 있 을 때 스 크 립 트 를 닫 지 않도록 이 변 수 를 추가 하 는 것 을 고려 해 야 합 니 다.Liux 호스트 에 대해 서 는/etc/httpd/conf.d/access.conf/아래 에 phop.conf 파일 이 있 을 수 있 습 니 다.이 파일 은 시스템 의 파일 크기 제한 문 제 를 해결 할 수 있 습 니 다.
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');

?> 


위의 변수 가 수정 되 었 는 지 확인 하기:
 
    

echo ini_get('file_uploads')."
";  

echo ini_get('max_input_time')."
";  

echo ini_get('max_execution_time')."
";  

echo ini_get('post_max_size')."
";  

echo ini_get('upload_max_filesize')."
";  

echo ini_get('memory_limit')."
";  

?>


php.ini 에서 세 값 의 크기 제약 관 계 를 수정 합 니 다.그래서 임시 방안 입 니 다.이것 은 왜 수정 할 수 없 는 지,PHP 의 운영 모델 이 있 는 것 은 매우 큰 관계 가 있 습 니 다.예 를 들 어 안전 모드 와 같 습 니 다.
안전 모드 에서 ini 사용 불가set 명령:maxexecution_time、memory_limit、child_terminate。
그래서 postmax_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.
php 문서 에 설명 uploadmax_filesize 의 수정 가능 범 위 는 PHP 입 니 다.INI_PERDIR。PHP_INI_PERDIR 는 도 메 인 내 명령 을 phop.ini,httpd.conf 또는 htaccess 파일 에서 수정 할 수 있다 는 뜻 이다.PHP_INI_SYSTEM 도 메 인 내 명령 은 pp.ini 와 httpd.conf 파일 에서 수정 할 수 있 습 니 다.그래서 업로드max_filesize 용 intset 는 수정 할 수 없습니다.수정 가능 한 범위 만 PHPINI_ALL 의 것 만 int 를 사용 할 수 있 습 니 다.set 수정.
값 가 져 오 는 방법:
 
    
if(@ini_get("file_uploads")) {

    $arrInfo['fileupload'] = " - ".ini_get("upload_max_filesize")." - :".ini_get("post_max_size");

}

else {

    $arrInfo['fileupload'] = " ";

}

if (get_cfg_var('register_globals')){

    $arrInfo['onoff'] =" ";

}else{

    $arrInfo['onoff'] = " ";

좋은 웹페이지 즐겨찾기