안녕하세요. 문의 드립니다.
게시판을 여러개 사용하는 사이트에서
특정 게시판의 첨부파일 업로드 기능을 pdf만 업로드가 가능하도록할 수 있을까요?
썸네일은 이미지가 올라가고 첨부파일은 pdf만 업로드 되는 게시판을 만들려고 합니다.
대시보드에 전체 게시판에 파일종류 설정하는것은 있는데
그중 게시판 하나만 첨부파일 종류를 지정하고 싶습니다.
의견 부탁 드립니다.
감사합니다.
안녕하세요~^^
KBoard 플러그인에서 썸네일은 기본적으로 이미지만 등록할 수 있습니다.
특정 게시판에서 첨부파일 확장자를 제한하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_pre_content_execute', 'my_kboard_pre_content_execute', 10, 2);
function my_kboard_pre_content_execute($content, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$attach_extension = array('pdf');
foreach($_FILES as $key=>$file){
if(isset($file['name']) && $file['name']){
$file_extension = explode('.', $file['name']);
$file_extension = end($file_extension);
if($key != 'thumbnail' && !in_array($file_extension, $attach_extension)){
echo '<script>alert("첨부파일은 PDF 파일만 등록할 수 있습니다.");window.history.go(-1);</script>';
exit;
}
}
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
pdf 파일 외에 확장자를 더 추가하시려면
위의 코드에서 array('pdf') 부분을 array('pdf', 'txt') 이런 식으로 추가해보시겠어요?
고맙습니다.
정말 감사합니다!
한가지 더 문의 드리면
첨부 1 은 PDF 파일만
첨부 2 는 HWP 한글 파일만
첨부 3 은 기존 디폴트업로드 파일 모두 가능하도록 할수 있을까요?
첨부파일 지정하여 파일종류를 제어가 가능할까요?
항상 도움 주셔서 감사합다.
이전 댓글에 안내해드린 코드를 활용하시면
첨부파일1은 PDF 파일만 업로드하고
첨부파일2는 hwp 파일만 업로드하고
첨부파일3은 KBoard 설정에 따라 업로드하게 할 수 있습니다.
기존 코드를 아래의 코드로 교체해서 확인해보시겠어요?
add_action('kboard_pre_content_execute', 'my_kboard_pre_content_execute', 10, 2);
function my_kboard_pre_content_execute($content, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$attach_extension1 = array('pdf');
$attach_extension2 = array('hwp');
foreach($_FILES as $key=>$file){
if(isset($file['name']) && $file['name']){
$file_extension = explode('.', $file['name']);
$file_extension = end($file_extension);
if($key == 'kboard_attach_file1' && !in_array($file_extension, $attach_extension1)){
echo '<script>alert("첨부파일1은 PDF 파일만 등록할 수 있습니다.");window.history.go(-1);</script>';
exit;
}
if($key == 'kboard_attach_file2' && !in_array($file_extension, $attach_extension2)){
echo '<script>alert("첨부파일2는 HWP 파일만 등록할 수 있습니다.");window.history.go(-1);</script>';
exit;
}
}
}
}
}
고맙습니다.
항상 감사합니다!