새 미디어 업로드 화면에서 업로드할 때 파일 용량 제한 2019.11.072023.02.09 by 현이 워드프레스 8 책에 보면 이미지가 가로와 세로 지정한 사이즈보다 크면 그 이미지 업로드가 안되도록 제한하고 있는데, 제가 궁금한 거는 사이즈말고 업로드하는 파일이 지정한 용량보다 크면 업로드가 되지 않도록 하는 겁니다. 검색하면 거의 다 .htaccess 파일에 파일 크기를 설정하는 방법만 있더라구요. 책에 있는 코드처럼 워드프레스 훅으로 제한할 수 있는 방법이 있나요? 이 글 공유하기: 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook 클릭하여 X에서 공유 (새 창에서 열림) X Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림) Pinterest 포켓에 공유하려면 클릭하세요 (새 창에서 열림) 포켓
우선, “지정한 사이즈보다 크면”이 아니라 ‘작으면’입니다. 세부 코드는 생략하고, 책에는 다음 필터로 되어 있을 거에요. add_filter( 'wp_handle_upload_prefilter', 'pic_limit_resolution' ); function pic_limit_resolution( $file ) { // 생략 } 같은 필터 훅을 사용해서 다음처럼 정의하면 되지 않을까요. add_filter( 'wp_handle_upload_prefilter', 'pic_limit_resolution' ); function pic_limit_resolution( $file ) { $size = $file['size']; $max_size = 2097152; // 2MB if( $size > $max_size || $size == 0 ) { $file['error'] = sprintf( '업로드한 파일은 %dMB, 파일용량은 %dMB 이하만 가능.', size_format( $size, 2 ), size_format( $max_size, 2 ) ); } return $file; } $max_size 값은 원하는 것으로 변경하시면 됩니다. 해보시고 잘 안되면 댓글 주세요. 그리고, 첨부한 이미지의 “최대 업로드 파일 크기: 256 MB.” 이 부분에서 256 값이 위의 코드에 있는 값으로 변경되지는 않습니다. 서버의 설정 값을 가져오는 거 같습니다. 변경하려면 다른 방법을 사용해야 하는데, 기회가 된다면 따로 포스트를 작성하는 게 좋을 거 같습니다.
우선, “지정한 사이즈보다 크면”이 아니라 ‘작으면’입니다.
세부 코드는 생략하고, 책에는 다음 필터로 되어 있을 거에요.
같은 필터 훅을 사용해서 다음처럼 정의하면 되지 않을까요.
$max_size
값은 원하는 것으로 변경하시면 됩니다. 해보시고 잘 안되면 댓글 주세요.그리고, 첨부한 이미지의 “최대 업로드 파일 크기: 256 MB.” 이 부분에서 256 값이 위의 코드에 있는 값으로 변경되지는 않습니다. 서버의 설정 값을 가져오는 거 같습니다.
변경하려면 다른 방법을 사용해야 하는데, 기회가 된다면 따로 포스트를 작성하는 게 좋을 거 같습니다.
알려주신 코드로 테스트해보았는데, 잘 됩니다.^^ 말씀하신 “최대 업로드 파일 크기: 256 MB” 이 부분 변경하는 것도 나중에 포스팅 해주시면 좋겠네요. 고맙습니다.