채택완료

파일을 업로드 하려고 합니다.

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개 / 댓글 1개

채택된 답변
+20 포인트

<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 배열명의 화일을 등록 합니다

답변 감사합니다.

첨부파일 코드를 강제로 21, 31로 해서 넣는다는 말씀이신가요?

그누보드 게시판 첨부파일 업로드는 bf_file에 index가 순차적으로 들어가야 합니다.

현재 작성하신 코드로만 보면 write_update.php 에서는 

Copy
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개가 있어야만 해당 첨부파일을 업로드 합니다.

Copy
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);

이부분에 주목하시기 바랍니다.

답변에 대한 댓글 1개

어렵네요.
일단 이해를 하려고 노력해 보겠습니다.

bbs/write_update.php에 파일 업로드 부분을 천천히 보세요.
글입력 스킨에만 적용한다고 업로드 및 디비업데이트가 이루어 지는 것은 아닙니다.

답변을 작성하려면 로그인이 필요합니다.