테스트 사이트 - 개발 중인 베타 버전입니다

글복사시 첨부파일오류 첨부파일은 복사가 되지만 첨부파일 for구문 내용이 모두 나오는 문제 채택완료

itb 2년 전 조회 1,884

안녕하세요. 첨부파일 오류때문에 질문드립니다.

글을 복사하면 첨부파일은 복사가되는데,

첨부파일에 해당하는 이름과 이미지가 전부 복사되어서 나옵니다.

예를들어,

 

*전체 첨부파일은 5개로 설정하였습니다.

첨부파일이 한개이고 그에 해당하는 이미지와 제목도 같이 나오게 코드를 짰는데,

이 글을 복사하면, 기존 첨부파일 이미지와 내용은 모두 복사가되는데

나머지 네개해당하는 첨부파일이 없는데 이미지와 내용이 나옵니다.

설명하기가 좀 쉽지않은데 코드를 보여드릴게요

 

기존 이미지와 카타로그 다운로드라는 글자도 삭제되어야하는데 삭제가 안됩니다.

 

</p>

<p>  <?php if ($cnt) { ?></p>

<p>        <div id="product_view_catal"></p>

<p>          <div id="bo_v_file"></p>

<p>            <?php</p>

<p>            for ($i = 1; $i <= 5; $i++) {</p>

<p>              $x = $i + 3;</p>

<p>              $c = $i + 5;</p>

<p>              echo $size[0];</p>

<p>              if ($i == 1) echo '<ul class=product_view_catalogue_list>';</p>

<p>              if ($view['file'][$i]['file']) {</p>

<p>                $image = urlencode($view['file'][$i]['file']);</p>

<p>                if (preg_match("/\.(gif|jpg|png)$/i", $image) && file_exists(G5_PATH . '/data/file/' . $bo_table . '/' . $image)) {</p>

<p>                  echo '<li class=product_view_catalogue_item>';</p>

<p>                  echo '<div class="img_box"><img src="' . G5_URL . '/data/file/' . $bo_table . '/' . $image . '" alt="' . $view['file'][$i]['bf_content'] . '" class="' . $size[0] . ' ' . $size[1] . '"></div>';</p>

<p>                  echo '<div class=product_view_catalogue_info>';</p>

<p>                  echo '<p class="catalogue_text"><b>' . $view['wr_' . $x] . '<i>' . $board['bo_subject'] . '</i></b></p>';</p>

<p>                  echo '</div>';</p>

<p>                  echo '<div class=product_view_catal_down_wrap>';</p>

<p>                  echo '<a href="' . $view['file'][$c]['href'] . '" class="btn_download" target="_blank"><span>카타로그 다운로드</span><i class="xi-valign-bottom"></i></a>';</p>

<p>                  echo '</div>';</p>

<p>                  echo '</li>';</p>

<p>                }</p>

<p>              }</p>

<p>            }</p>

<p>            if ($i > 1) echo '</ul>';</p>

<p>            ?></p>

<p>          </div></p>

<p>        </div></p>

<p>      <?php } ?></p>

<p>

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

답변 1개

채택된 답변
+20 포인트

다음과 같은 방법으로 해 볼 수 있을 것 같습니다.

</p>

<p><?php if ($cnt) { ?>

<div id="product_view_catal">

    <div id="bo_v_file">

        <?php

        $first_attachment_found = false; // Flag to track if at least one attachment is found

        for ($i = 1; $i <= 5; $i++) {

            $x = $i + 3;

            $c = $i + 5;</p>

<p>            // Check if there is an attachment for this index and if the attachment image file exists

            if ($view['file'][$i]['file'] && preg_match("/\.(gif|jpg|png)$/i", $view['file'][$i]['file']) && file_exists(G5_PATH . '/data/file/' . $bo_table . '/' . $view['file'][$i]['file'])) {

                // Display the first attachment's image and content

                if (!$first_attachment_found) {

                    echo '<ul class="product_view_catalogue_list">';

                    $first_attachment_found = true;

                }</p>

<p>                echo '<li class="product_view_catalogue_item">';

                echo '<div class="img_box"><img src="' . G5_URL . '/data/file/' . $bo_table . '/' . $view['file'][$i]['file'] . '" alt="' . $view['file'][$i]['bf_content'] . '" class="' . $size[0] . ' ' . $size[1] . '"></div>';

                echo '<div class="product_view_catalogue_info">';

                echo '<p class="catalogue_text"><b>' . $view['wr_' . $x] . '<i>' . $board['bo_subject'] . '</i></b></p>';

                echo '</div>';

                echo '<div class="product_view_catal_down_wrap">';

                echo '<a href="' . $view['file'][$c]['href'] . '" class="btn_download" target="_blank"><span>카탈로그 다운로드</span><i class="xi-valign-bottom"></i></a>';

                echo '</div>';

                echo '</li>';

            }

        }

        if ($first_attachment_found) {

            echo '</ul>';

        }

        ?>

    </div>

</div>

<?php } ?>

첨부 파일 이미지와 내용이 복사되는 문제:

주어진 코드에서 첨부 파일 이미지와 내용을 복사하는 부분은 별도의 if 문 없이 for 루프 안에 있습니다. 따라서, 첨부 파일이 없더라도 루프가 실행되고 해당 위치에 이전 첨부 파일 이미지와 내용이 그대로 표시됩니다.

 

기존 이미지와 "카탈로그 다운로드" 텍스트 삭제 문제:

해당 코드에서 이미지와 "카탈로그 다운로드" 텍스트를 삭제하는 코드가 없습니다. 이를 해결하기 위해서 조건문을 추가해야 합니다.

로그인 후 평가할 수 있습니다

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

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

로그인