답변 4개
update 단에서 하게 되면 사용자의 게시글이 날아갈수도 있으므로
글쓰기 단에서 1차적으로 채크해주시면 더 좋습니다.
</p>
<p> <?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
<div class="bo_w_flie write_div">
<div class="file_wr write_div">
<label for="bf_file_<?php echo $i+1 ?>" class="lb_icon"><i class="fa fa-folder-open" aria-hidden="true"></i><span class="sound_only"> 파일 #<?php echo $i+1 ?></span></label>
<input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file " accept="application/pdf">
</div>
<?php if ($is_file_content) { ?>
<input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요.">
<?php } ?></p>
<p> <?php if($w == 'u' && $file[$i]['file']) { ?>
<span class="file_del">
<input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i; ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> 파일 삭제</label>
</span>
<?php } ?>
</div>
<?php } ?></p>
<p>
베이직 스킨 기준으로 input type 이 file 인 곳에

accept="application/pdf"
이거하나 추가해주시면

이렇게 pdf 파일이 우선 적용됩니다.
다만 셀렉트 박스를 누르면 모든파일 선택이 가능하므로
</p>
<p> <script>
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll("input[type='file']").forEach(function(input) {
input.addEventListener("change", function(e) {
const file = e.target.files[0];
if (!file) return; // 선택 안 한 경우 패스</p>
<p> // 확장자 검사
const ext = file.name.split('.').pop().toLowerCase();
if (ext !== "pdf") {
alert("PDF 파일만 업로드할 수 있습니다.");
e.target.value = ""; // 파일 선택 비움
}
});
});
});
</script></p>
<p>
이 스크립트 하나 넣어주시면 input file 에 들어가는 확장자를 검사해서 pdf 가 아니면 경고 후 해당 input 을 비워주게 됩니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
플라이님이 힌트를 다 주셨네요.
코어를 수정 안하실려면
스킨에 write_update.head.skin.php 파일을 만드시고
for ($i=0; $i $filename = $_FILES['bf_file']['name'][$i];
$ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
if ($ext !== 'pdf') {
alert("이 게시판은 PDF 파일만 첨부 가능합니다.");
} } 해서 파일 글 등록 전에 체크를 해주시면 될 거 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
/bbs/write_update.php
// 특정 게시판만 pdf 제한 if ($bo_table === '게시판아이디') { $filename = $_FILES['bf_file']['name'][$i]; $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if ($ext !== 'pdf') { alert("이 게시판은 PDF 파일만 첨부 가능합니다."); } } 이런식으로 특정 게시판 아이디만 pdf 업로드 가능하게 처리 해주시면 되십니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인