레이어 팝업창에서의 첨부파일 출력 문의

레이어 팝업창에서의 첨부파일 출력 문의

QA

레이어 팝업창에서의 첨부파일 출력 문의

본문

안녕하세요.. 스킨 제작중에 잘 안되는 부분이  있어서 이렇게 문의 드립니다.

리스트에서 게시글 클릭시 팝업창을 출력하는 부분에서 첨부한 이미지 파일이 출력이 되지 않아 이렇게 문의 드립니다.

 

첨부파일의 이미지 경로를 확인해보면 /edu/data/file/ 이렇게 되어 있는데 절대경로로 지정을 해봐도 출력이 안되네요..

 

고수님들의 조언 및 해결 방법을 도움 부탁드립니다.

즐거운 하루 되세요

 

view.ajax.php 파일에 다음과 같이 작성했습니다.

 


<?php
include_once '../../../common.php';
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
 
$wr_id = $_POST['wr_id'];
$bo_table ="map";
$sql = "SELECT * FROM g6_write_".$bo_table." WHERE wr_id = '$wr_id' ";
$row = sql_fetch($sql);
//$thumb = get_list_thumbnail($bo_table, $row['wr_id'], 768, 502, false, true);
?>
 
            <div class="top_info">
                <div class="landImg swiper-container">
                    <ul class="swiper-wrapper">    
                    <?php
for ($i = 0; $i < 4; $i++) {
    if ($row['file'][$i]['file']) {
        $image = urlencode($row['file'][$i]['file']);
       
        if (preg_match("/\.(gif|jpg|png)$/i", $image) && file_exists(G5_PATH.'/data/file/'.$bo_table.'/'.$image)) {
            echo '<li class="swiper-slide">';
            echo '<div class="img">';
            echo '<img src="'.G5_URL.'/data/file/'.$bo_table.'/'.$image.'" width="462" height="302">';
 
            echo '</div>';
            echo '</li>';
        }
    }
}
?>
 
이하 생략...

 

 

이 질문에 댓글 쓰기 :

답변 6

/lib/thumbnail.lib.php 파일에 아래 소스를 참조해서..

파일명을 가져와야 합니다.


    $row = get_thumbnail_find_cache($bo_table, $wr_id, 'file');
    $empty_array = array('src'=>'', 'ori'=>'', 'alt'=>'');
 
    if(isset($row['bf_file']) && $row['bf_file']) {
        $filename = $row['bf_file'];
        $filepath = G5_DATA_PATH.'/file/'.$bo_table;
        $alt = get_text($row['bf_content']);
    }

안녕하세요 답변 감사합니다.알려주신 방법대로 적용을 해봐도 이미지가 출력이 되지 않는데 혹시 제가 올린 소스에 어떻게 대입을 하면 좋을지 알려주실 수 있을까요?

다음처럼 해보면 출력할 변수를 알 수 있을 것입니다

$file = get_file($bo_table, $wr_id); //화일 정보 가져오기

print_r($file);

이 방식보다는 차라리 첨부파일의 절대주소 목룩을 추출하여 여분필드 wr_1 에

 

이미지1|이미지2|이미지3|.....

 

이런 식으로 담은 후에 리스트에 날려서 | 을 기준으로 explode 하여 문자열을 파싱하면 되지 않을까요?

 

리스트에서 레이어팝업은 여러모로 모달로 아이프레임 처리하는 게 편하기도 하구요.

https://sir.kr/g5_skin/53666

 

예를 들어서... wr_1 의 문자열이 1.jpg|2.jpg|3.jpg 로 넘어온다면

아래처럼 파싱하면 됩니다.

저는 자바스크립트가 더 편해서 이리 하는데 php 파싱도 원리적으로 똑같습니다.

 


<div id="imgDiv"></div>
<script>
imgs = "<?php echo $list[$i]['wr_1']; >";
imgs = imgs.split("|");
for (i of imgs) {
    document.getElementById("imgDiv").innerHTML += "<img src='" + i + "'><br>";
}
</script>

$file = get_file($bo_table, $wr_id);
if(sizeof($file) > 0) {
    foreach($file as $key => $arr) {    
        if($arr['file']) {
            echo '<li class="swiper-slide">';
            echo '<div class="img">';
            echo '<img src="'.$arr['path'].'/'.$arr['file'].'" width="462" height="302">';
            echo '</div>';
            echo '</li>';
        }
    }
}
답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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