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

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

QA

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

본문

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

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

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

예를들어,

 

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

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

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

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

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

 

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

 


  <?php if ($cnt) { ?>
        <div id="product_view_catal">
          <div id="bo_v_file">
            <?php
            for ($i = 1; $i <= 5; $i++) {
              $x = $i + 3;
              $c = $i + 5;
              echo $size[0];
              if ($i == 1) echo '<ul class=product_view_catalogue_list>';
              if ($view['file'][$i]['file']) {
                $image = urlencode($view['file'][$i]['file']);
                if (preg_match("/\.(gif|jpg|png)$/i", $image) && file_exists(G5_PATH . '/data/file/' . $bo_table . '/' . $image)) {
                  echo '<li class=product_view_catalogue_item>';
                  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>';
                  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 ($i > 1) echo '</ul>';
            ?>
          </div>
        </div>
      <?php } ?>

이 질문에 댓글 쓰기 :

답변 1

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


<?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;
            // 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;
                }
                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 루프 안에 있습니다. 따라서, 첨부 파일이 없더라도 루프가 실행되고 해당 위치에 이전 첨부 파일 이미지와 내용이 그대로 표시됩니다.

 

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT