view 상태에서 이미지에 링크를 걸었습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

view 상태에서 이미지에 링크를 걸었습니다. 정보

view 상태에서 이미지에 링크를 걸었습니다.

본문

관리자님의 짤방게시판의 view.skin.php 에서
이미지를 아래와같이 첫번것만을 불러왔습니다.
그리고 링크1을 걸어주었습니다.
그런데 두가지 문제가 생겼습니다.
 
1. 이미지를 클릭하면 링크도 연결하고, 그림원본불러오기도 됩니다.
여기에서 그림을 불러오기하는 기능을 잠재울 수 없는가요?
 
2. 링크를 걸어놓으니 그림부분에 border가 생깁니다.
이것을 없엘 수는 없는가요?
 
3. 혹시     echo  $view[file][0][view]; 요부분을
<img src=~~~~~>이렇게 불러올 수는 없는가요?
 
----------------------------------------------
 
    <? if ($view[file][0][view])
    {
    echo "<a href='{$view[wr_link1]}' target='_blank'>";
    echo  $view[file][0][view];
    echo "</a>";
    }
    ?>
  • 복사

댓글 전체

질문 .2
링크를 걸어놓으니 그림부분에 border가 생깁니다.
이것을 없엘 수는 없는가요?


-. 설치경로의 스타일시트를 공통적으로 사용한다면,
/설치경로/style.css의 최하단에 다음의 1라인을 추가
.img {border:0}
나스카님.
그누보드설치경로의 스타일에 적용해보았지만 안됩니다.
.img {border:0} 이렇게 할 경우에는 class지정을 하지 않아도 적용되는가요?
질문 .3


<?
 // 파일 출력
 for($i=0; $i<=count($view[file]); $i++) {
  if($view[file][$i][view])
 ###############################################
  $img_width=100;
  $f_type=""; $f_style=""; $f_path=""; $f_file ="";
  // echo"파일타입: {$view[file][$i][image_type]}<br>";
  $f_type=$view[file][$i][image_type];
  if($f_type=='1' || $f_type=='2' || $f_type=='3' ||$f_type=='6' || $f_type=='7') $f_style="img";
    else if($f_type=='4') $f_style="movie_img";//쭉..형태추가
    else if($f_type=='0') $f_style="file_link";
    $f_file = urlencode($view[file][$i][file]);
    $f_path="{$view[file][$i][path]}";
  ###############################################
  if($view[file][$i][source])
  {$view[file][$i][href]="$f_path/$f_file";
    if(preg_match("/\.(jp[e]?g|tif|bmp|gif|png)$/i","$f_file")
    && file_exists("$f_path/$f_file")&& $f_style=="img")
  {//이미지면 끝
    echo"<a href='{$view[file][$i][href]}'><img src='$f_path/$f_file' width='$img_width' border='0'><br>";
    echo"</a><br>";
    echo"이미지크기:<font color='red'>{$view[file][$i][image_width]} x {$view[file][$i][image_height]}</font><br>";
    echo"이미지설명:<font color='blue'>{$view[file][$i][bf_content]}</font><br>";
    echo"<br>";
  }else
  echo $view[file][$i][view];
  }//if 다운소스가 존재하면
  ###############################################
  }//for 끝
  ?>
오달수님! 잘 나옵니다.
하지만 좀 더 자세히 알고 싶습니다.

1.
여러 이미지중에서 첫번째 이미지만 나오게 하고 싶습니다.

2.
  $f_type=$view[file][$i][image_type];
  if($f_type=='1' || $f_type=='2' || $f_type=='3' ||$f_type=='6' || $f_type=='7') $f_style="img";
    else if($f_type=='4') $f_style="movie_img";//쭉..형태추가
    else if($f_type=='0') $f_style="file_link";
요부분의 사용방법좀 더 자세히 알려주세요.
> $f_type=$view[file][$i][image_type];

변수정의 : 첨부된 파일의 형태가 이미지의 형태임.

>  if($f_type=='1' || $f_type=='2' || $f_type=='3' ||$f_type=='6' || $f_type=='7') $f_style="img";

구문의미 : $f_type이라는 변수(값)이 1,2,3,6,7인 경우,
              $f_style="img"; //$f_style은 img라는 문자(열)로 정의

> else if 이하...
상단에 대한 부정조건인 경우 끌어갈 처리구문(계~~~속 추가)
해석여하에 따라 달라지는 내용이겠지요.

직접 지정하던가,
아니면 게시물 작성(입력, 첨부, 링크...)시 해당 폼(실제 데이터의 틀이 저장되는 DB의 필드값)에
포함되어 저장될 내용일지...

상단의 구문은 단지 형태상의 조건과 구조를
비교적 알아보기 쉽게 적용한 형태가 되겠지요.



> 오달수님! 잘 나옵니다.
> 하지만 좀 더 자세히 알고 싶습니다.

직전에 기재한 제 코멘트에 질문용 코멘트를 다신 이유가 사뭇 궁금하군요.
어떤 것이 잘 나오던가요?
어떤 것이 출력되기를 원하셨었나요?
사용자가 출력을 원했던 결과가 정상적으로 구현되었다면(의도했던 바가 실행되었다면),
상단 '오달수'님께서 제시해 주신 방법이 구체적으로 의미하는 바를
훨씬 더 잘 아실거라 짐작됩니다만...
1
소스에 대해서 알지 못하는 저로서는 실제적으로 질문드립니다.
이 소스에서

  if($f_type=='1' || $f_type=='2' || $f_type=='3' ||$f_type=='6' || $f_type=='7') $f_style="img";
    else if($f_type=='4') $f_style="movie_img";//쭉..형태추가
    else if($f_type=='0') $f_style="file_link";

이부분에 아무런 변화없이 요대로 사용할 수 있는가요?

2
나스카님의 답변에 감사드립니다.
우선

> 오달수님! 잘 나옵니다.
> 하지만 좀 더 자세히 알고 싶습니다.

요 질문은 나스카님께 질문한 것이 아니라 오달수님께 질문한 것입니다.
오달수님답변에 대한 질의성코맨트로는 위치지워지지 않은 이유는, 실수로 오달수님코멘트에서 답변을 누르지 않고 오달수님 밑에 코맨트를 달았기때문입니다.  지금도 제가 보는 웹에서는 나스카님의 코멘트에 달리지 않았습니다.

제가 좀더 코맨트다는 일에 신경을 쓰도록 하겠습니다.

3
오달수님이 가르쳐주신 소스에서는 올린 그림 전체가 나옵니다.
제가 원하는 것은 첫번째 이미지만 나오게 하고 싶습니다.
(사실 저는 소스에 대해서 전혀 문외한입니다. 완전히 백치입니다.
많은 이해 부탁드립니다.)
먼저..
첫번째 이미지만은  배열은 0 부터 시작하니까 딸라 아이가 0 일때만 으로
하시면 되겠네요.

###############################################
if($view[file][$i][source])

::
V
if($view[file][$i][source] && $i==0)


그 다음..

if($f_type=='1' || $f_type=='2' || $f_type=='3' ||$f_type=='6' || $f_type=='7') $f_style="img";
  else if($f_type=='4') $f_style="movie_img";//쭉..형태추가
  else if($f_type=='0') $f_style="file_link";

(
관리자로 접속합니다.
환경설정
기본환경설정
기본권한 및 사용여부
를 보시면  이 부분이 있습니다.

이미지 업로드 확장자
gif|jpg|jpeg|png|bmp|ttf
동영상 업로드 확장자
asx|asf|wmv|wma|mpg|mpeg|mov|avi|mp3

아래의 부분에 png,bmp,ttf 등을 이미지로 처리한다라고  했을때
사용자가 이러헌 스타일의 파일을 업로드 하면
g4_board_file 에 그 스타일이 저장이 됩니다.

ttf,png,gif:1
psd,pdf,tiff,jpg,jpeg:2
bmp:6
swf:4
3하고 7도 이미지 형 같던데..아마 맞을겁니다.
이미지 확장자는 다양하죠.
http://kin.naver.com/db/detail.php?d1id=1&dir_id=1&docid=79984
)

이미지라고 판명이 되었는데 이건 img다 라고 한것이나
이것은 movie_img 다 라고 한것은   
뷰에서는 파일의 형태에 따라 다르게 표시가 가능하고
리스트에서는 쉽게 파일이 있을경우 gif,jpg,hwp 등으로 아이콘 처리가 쉽겠죠?
.
.
그럼에도 불구하고 그 파일이 있을경우만 표시했습니다.
섬네일에서 삭제이동하면 불완전한 머시기가 있는듯 해서리...
.
.
혼자만 모르시고 계셨군요^^;;
열심히 하세요~~.
오달수님 감사합니다.
잘 돌아갑니다.
명강의에도 감사드립니다.

나스카님에게도 감사드립니다.
고수님들끼리야 서로 예의가 필요하시겠지만,
질답게시판을 통해서 가르침을 받는 사람의 입장에서는 빠른 답변이 장땡이더군요...**^^**


소스에 대한 전반적인 지식이 있고,  그누보드를 구석구석 알고계신 두분의 답변이 사람을 시원하게 합니다.
감사합니다.
© SIRSOFT
현재 페이지 제일 처음으로