채택완료

원본 이미지 주소를 긁어오던중에 문제가 생깁니다

2016-10-19 (수) 10:09:49 4,017

최근게시물에서 이미지를 원본으로 불러오게 하기 위하여 아래와 같은 소스를 입력하였습니다

<?php for ($i=0; $i<count($list); $i++) { $list['file'] = get_file($bo_table, $list[$i]['wr_id']); echo $list[file][0][path].'/'. $list[file][0][file]; } ?>

첨부파일 1번을 가져오기 위하여 저렇게 입력하였는데 주소는 정상적으로 나오는데 원본 주소 마지막에 / 이 붙으면서 원본주소.jpg/ 이런식으로 출력되더라구요 물론 그래서 이미지는 정상적으로 안나오구요

소스상에 문제가 있는건가요 아님 마지막 / 를 잘라내는 코드를 짜야 하는건가요?

많은 도움 부탁드리겠습니다~! 

답변 2개 / 댓글 5개

채택된 답변
+20 포인트
2016-10-19 (수) 10:30:26

echo $list[file][0][path].'/'. $list[file][0][file]; 이렇게만 하면,

파일이 없는 경우 슬러시(/) 만 남게되는 문제가 생깁니다.

echo 부분을 아래와 같이 해보세요.

Copy
//파일이 있을 때에만 출력if($list[file][0][file])     echo $list[file][0][path].'/'. $list[file][0][file];
 
2016-10-19 (수) 10:14:21

echo $list[file][0][path]; 뒤에 있는 부분 잘라 내고 안해보셨나요? 

함수에서 이미 경로를 다 뽑아냈습니다.

아래가 함수 원본입니다.

Copy
// 게시글에 첨부된 파일을 얻는다. (배열로 반환)function get_file($bo_table, $wr_id){    global $g5, $qstr;     $file['count'] = 0;    $sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";    $result = sql_query($sql);    while ($row = sql_fetch_array($result))    {        $no = $row['bf_no'];        $file[$no]['href'] = G5_BBS_URL."/download.php?bo_table=$bo_table&amp;wr_id=$wr_id&amp;no=$no" . $qstr;        $file[$no]['download'] = $row['bf_download'];        // 4.00.11 - 파일 path 추가        $file[$no]['path'] = G5_DATA_URL.'/file/'.$bo_table;        $file[$no]['size'] = get_filesize($row['bf_filesize']);        $file[$no]['datetime'] = $row['bf_datetime'];        $file[$no]['source'] = addslashes($row['bf_source']);        $file[$no]['bf_content'] = $row['bf_content'];        $file[$no]['content'] = get_text($row['bf_content']);        //$file[$no]['view'] = view_file_link($row['bf_file'], $file[$no]['content']);        $file[$no]['view'] = view_file_link($row['bf_file'], $row['bf_width'], $row['bf_height'], $file[$no]['content']);        $file[$no]['file'] = $row['bf_file'];        $file[$no]['image_width'] = $row['bf_width'] ? $row['bf_width'] : 640;        $file[$no]['image_height'] = $row['bf_height'] ? $row['bf_height'] : 480;        $file[$no]['image_type'] = $row['bf_type'];        $file['count']++;    }     return $file;}

답변에 대한 댓글 5개

2016-10-19 (수) 10:16:14
잘라낸다는게 어떤건가요? 삭제 하란말인가요 아님 따로 빼라는 얘기인가요?
2016-10-19 (수) 10:17:36
삭제하시면 됩니다.

echo $list[file][0][path].'/'. $list[file][0][file]; 를

echo $list[file][0][path]; 로 바꿔주시면 됩니다.
2016-10-19 (수) 10:19:55
삭제를 하니깐 파일명이 전부 다 날라가버리네요. 딱 path 그러니깐 첨부파일이 있는 폴더 주소까지만 가져오는거 같네요..
2016-10-19 (수) 10:28:31
path 말고 view를 넣어주시면 나오기는 하는데 아마 크게 나올거 같습니다.

view_file_link($list[file][0][file], 원하는 너비, 원하는 높이, alt 문자 );

혹시 이래도 안되면 ㅠㅠ
2016-10-19 (수) 10:50:43
<div class="mainSlide" style="background: transparent url("<a href=") repeat scroll 0% 0%; float: none; list-style: outside none none; position: absolute; width: 1903px; z-index: 50; display: block;" http:="" 주소="" template="" 02="" bbs="" view_image.php?bo_table="&fn=2034371962_B0XAkgMV_2839e30f239c09f2a3e6d3f382f3e5d79be701fc.jpg"" target="_blank"><img src="주소/data/file//2034371962_B0XAkgMV_2839e30f239c09f2a3e6d3f382f3e5d79be701fc.jpg" alt="" width="1920" height="400">');

이런식으로 나와버리네요 ㅎㅎㅎㅎ;; 주소만 가져와야 하는데 뭔가 특이하게 받아와버리네요;;

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