파일을 업로드 하려고 합니다.
본문
write.skin.php 에서 for 문을 삭제하고 아래의 코드를 사용해서
파일을 업로드 하려고 합니다.
그런데 업로드가 안됩니다.
첨부파일 21번은 이렇게...
<tr>
<th scope="row">파일#21</th>
<td>
<input type="file" name="bf_file[21]" title="파일첨부21" class="frm_file frm_input">
<?php if ($is_file_content) { ?>
<input type="text" name="bf_content[21]" value="<?php echo ($w == 'u') ? $file[21]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="frm_file frm_input">
<?php } ?>
<?php if($w == 'u' && $file[21]['file']) { ?>
<input type="checkbox" id="bf_file_del21" name="bf_file_del[21]" value="1"> <label for="bf_file_del21"><?php echo $file[21]['source'].'('.$file[21]['size'].')'; ?> 파일삭제</label>
<?php } ?>
</td>
</tr>
첨부파일 31번은 이렇게...
<tr>
<th scope="row">파일#31</th>
<td>
<input type="file" name="bf_file[31]" title="파일첨부31" class="frm_file frm_input">
<?php if ($is_file_content) { ?>
<input type="text" name="bf_content[31]" value="<?php echo ($w == 'u') ? $file[31]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="frm_file frm_input">
<?php } ?>
<?php if($w == 'u' && $file[31]['file']) { ?>
<input type="checkbox" id="bf_file_del31" name="bf_file_del[31]" value="1"> <label for="bf_file_del31"><?php echo $file[31]['source'].'('.$file[31]['size'].')'; ?> 파일삭제</label>
<?php } ?>
</td>
</tr>
답변 5
<input type="file" name="bf_file[0]" ~~~>
<input type="file" name="bf_file[1]" ~~~>
~~~
<input type="file" name="bf_file[21]" ~~~>
<input type="file" name="bf_file[22]" ~~~>
~~
<input type="file" name="bf_file[31]" ~~~>
for문을 삭제 히더리도
이것처럼 사용하든 하지않든 모든 입력폼이 있어야 등록할때 21 ,31 배열명의 화일을 등록 합니다
bbs/write_update.php에 파일 업로드 부분을 천천히 보세요.
글입력 스킨에만 적용한다고 업로드 및 디비업데이트가 이루어 지는 것은 아닙니다.
첨부파일 코드를 강제로 21, 31로 해서 넣는다는 말씀이신가요?
그누보드 게시판 첨부파일 업로드는 bf_file에 index가 순차적으로 들어가야 합니다.
현재 작성하신 코드로만 보면 write_update.php 에서는
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
$upload[$i]['file'] = '';
$upload[$i]['source'] = '';
$upload[$i]['filesize'] = 0;
$upload[$i]['image'] = array();
$upload[$i]['image'][0] = 0;
$upload[$i]['image'][1] = 0;
$upload[$i]['image'][2] = 0;
$upload[$i]['fileurl'] = '';
$upload[$i]['thumburl'] = '';
$upload[$i]['storage'] = '';
// 삭제에 체크가 되어있다면 파일을 삭제합니다.
<--- 중간 생략 -->
$tmp_file = $_FILES['bf_file']['tmp_name'][$i];
$filesize = $_FILES['bf_file']['size'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filename = get_safe_filename($filename);
첨부파일이 코드가 31개가 있어야만 해당 첨부파일을 업로드 합니다.
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
$tmp_file = $_FILES['bf_file']['tmp_name'][$i];
$filesize = $_FILES['bf_file']['size'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filename = get_safe_filename($filename);
이부분에 주목하시기 바랍니다.
!-->!-->답변 감사합니다.