본문 바로가기

language/php

php 파일업로드 용량 제한 수정하기

잘돌아가던 웹페이지가 계속 오류가 난다. 이미지 업로드가 되고 이미지가 보여야 하는데 무슨일인지 ㅜㅜ 


그래서 파일이 올라가서 어떤 오류를 내는지 체크하는 코드를 추가해 보았다. 

아래코드를 어떤 분의 블로그에서 가지고 왔는데 닫아 버려서 출처를... 나중에 알게 되면 다시 넣겠습니다. 


if($_FILES['받는파일객체명']['error']>0){

  echo '오류 발생 : ';

  //오류 타입에 따라 echo '오류종류"}';

  switch ($_FILES['event_img_01']['error']){

  case 1: echo 'upload_max_filesize 초과';break;

  case 2: echo 'max_file_size 초과';break;

  case 3: echo '파일이 부분만 업로드됐습니다.';break;

  case 4: echo '파일을 선택해 주세요.';break;

  case 6: echo '임시 폴더가 존재하지 않습니다.';break;

  case 7: echo '임시 폴더에 파일을 쓸 수 없습니다. 퍼미션을 살펴 보세요.';break;

  case 8: echo '확장에 의해 파일 업로드가 중지되었습니다.';break;

  }

}


이 중에서 1번에 걸려 있다. 파일 사이즈 오류 다 

phpinfo 명령어를 php파일에 입력해서 자신의 파일업로드 용량을 확인할 수 있다. 


<?

phpinfo()

?> 



uploade_max_filesize 부분을 보면 2M가로 설정되어 있다. 

2메가 조금 더 넘는데 그것이 에러를 일으킨 것이다.


자 이제 해결하러 가자 아래 파일의 uploade_max_filesize 부분을 찾아서 2M를 원하는 만큼 수정해 준다. 나의 경우는 5M 버전이 다르면 디렉토리를 수정해서 하면 된다. 

 /etc/php/7.0/apache2/php.ini





바로 설정이 반영 안되므로 아래 명령어로 아파치를 재시작해 준다

sudo service apache2 reload


reload는 설정값만 재 적용 해준다. 만약.. 안되면 restart로 데몬을 멈추고 다시 실행하도록 한다. 


다시 해보니 잘 올라간다. 용량에 관련된 몇가지 설정이 있으니 이것으로 안되면 다른 설정값들을 찾아서 체크해 보면 된다. 


오류 처리를 다 해두면 관리하면서 찾기 쉬운데.. 이놈의 귀차니즘이란..