레이어 팝업창에서의 첨부파일 출력 문의 채택완료
안녕하세요.. 스킨 제작중에 잘 안되는 부분이 있어서 이렇게 문의 드립니다.
리스트에서 게시글 클릭시 팝업창을 출력하는 부분에서 첨부한 이미지 파일이 출력이 되지 않아 이렇게 문의 드립니다.
첨부파일의 이미지 경로를 확인해보면 /edu/data/file/ 이렇게 되어 있는데 절대경로로 지정을 해봐도 출력이 안되네요..
고수님들의 조언 및 해결 방법을 도움 부탁드립니다.
즐거운 하루 되세요
view.ajax.php 파일에 다음과 같이 작성했습니다.
</p>
<p><?php</p>
<p>include_once '../../../common.php';</p>
<p>include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p>
<p> </p>
<p>$wr_id = $_POST['wr_id'];</p>
<p>$bo_table ="map";</p>
<p>$sql = "SELECT * FROM g6_write_".$bo_table." WHERE wr_id = '$wr_id' ";</p>
<p>$row = sql_fetch($sql);</p>
<p>//$thumb = get_list_thumbnail($bo_table, $row['wr_id'], 768, 502, false, true);</p>
<p>?></p>
<p> </p>
<p> <div class="top_info"></p>
<p> <div class="landImg swiper-container"></p>
<p> <ul class="swiper-wrapper"> </p>
<p> <?php</p>
<p>for ($i = 0; $i < 4; $i++) {</p>
<p> if ($row['file'][$i]['file']) {</p>
<p> $image = urlencode($row['file'][$i]['file']);</p>
<p> </p>
<p> if (preg_match("/\.(gif|jpg|png)$/i", $image) && file_exists(G5_PATH.'/data/file/'.$bo_table.'/'.$image)) {</p>
<p> echo '<li class="swiper-slide">';</p>
<p> echo '<div class="img">';</p>
<p> echo '<img src="'.G5_URL.'/data/file/'.$bo_table.'/'.$image.'" width="462" height="302">';</p>
<p> </p>
<p> echo '</div>';</p>
<p> echo '</li>';</p>
<p> }</p>
<p> }</p>
<p>}</p>
<p>?></p>
<p> </p>
<p>이하 생략...</p>
<p>
답변 6개
/lib/thumbnail.lib.php 파일에 아래 소스를 참조해서..
파일명을 가져와야 합니다.
</p>
<p> $row = get_thumbnail_find_cache($bo_table, $wr_id, 'file');</p>
<p> $empty_array = array('src'=>'', 'ori'=>'', 'alt'=>'');</p>
<p> </p>
<p> if(isset($row['bf_file']) && $row['bf_file']) {</p>
<p> $filename = $row['bf_file'];</p>
<p> $filepath = G5_DATA_PATH.'/file/'.$bo_table;</p>
<p> $alt = get_text($row['bf_content']);</p>
<p> }</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p>$file = get_file($bo_table, $wr_id);</p>
<p>if(sizeof($file) > 0) {</p>
<p> foreach($file as $key => $arr) { </p>
<p> if($arr['file']) {</p>
<p> echo '<li class="swiper-slide">';</p>
<p> echo '<div class="img">';</p>
<p> echo '<img src="'.$arr['path'].'/'.$arr['file'].'" width="462" height="302">';</p>
<p> echo '</div>';</p>
<p> echo '</li>';</p>
<p> }</p>
<p> }</p>
<p>}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
해결이 되지 않아 sql 쿼리로 g6_board_file테이블에서 bf_file을 직접 불러오는 방식으로 해결 했습니다.
조언해 주신 모든 분들께 감사드립니다.
댓글을 작성하려면 로그인이 필요합니다.
예를 들어서... wr_1 의 문자열이 1.jpg|2.jpg|3.jpg 로 넘어온다면
아래처럼 파싱하면 됩니다.
저는 자바스크립트가 더 편해서 이리 하는데 php 파싱도 원리적으로 똑같습니다.
</p>
<p><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 + "'>
";
}
</script></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
이 방식보다는 차라리 첨부파일의 절대주소 목룩을 추출하여 여분필드 wr_1 에
이미지1|이미지2|이미지3|.....
이런 식으로 담은 후에 리스트에 날려서 | 을 기준으로 explode 하여 문자열을 파싱하면 되지 않을까요?
리스트에서 레이어팝업은 여러모로 모달로 아이프레임 처리하는 게 편하기도 하구요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인