디렉토리 내의 이미지보기(겔러리) 소스 입니다.

· 2008-01-10 (목) 17:10:46 · 4114 · 2
아래소스는 디렉토리 내의 이미지보기(겔러리) 소스 입니다.
사용하기 편하고 업로드 방식이 계정에 직접 파일을 한꺼번에 올려주면..
해당폴더의 파일을 보여주는 형식 입니다.
제가 사용하게 된지가 오래 되어서 출처는 잘 모르겠습니다.
조금 불편하고 개선할 부분이 있어서 혹시 관심이 있는 분이 있으시면..
수정 부탁 드립니다.

-수정할 사항-

1) 썸레일 기능이 없습니다.
2) 이미지 클릭후 팝업창에서 원본이미지 클릭하면 윈도우가 닫혔으면 좋겠습니다.

현재사용하는 페이지 : http://lbw.kr/icon/icons.php


<!--소스시작-->

<?
//$code = 파일확장자
//$imagefile = 그림파일명
//$imagewidth = 이미지의 가로길이
//$imageheight = 이미지의 세로길이
//$page = 페이지번호
$tdwidth = 100;  // 테이블 한칸의 가로길이
$tdheight = 100;  // 테이블 한칸의 세로길이
$imggaro = 6; // 그림 가로 출력 갯수
$imgsero = 5; // 그림 세로 출력 갯수
$viewimg = $imggaro * $imgsero;  // 한화면의 그림 출력 갯수
?>
<?
    $handle=opendir("."); //시작할 폴더위치를 지정한다.
    
    //그림파일 전체 갯수 구함
    while ($imagefile = readdir($handle))
    {
        $code = substr($imagefile,-3);  //확장자검색
        if($code == jpg || $code == gif)  //그림파일확인
        {
            $num++;
        }
    }
    //echo("그림파일 : $num 개");
    if($page == "" || $page == "0" || $page == "1")
    {
        $page = "1";
    }
    //NEXT , PREVIEW 만들기.
    $next = $page+1;
    $preview = $page-1;
    if($page == 1)
    {
        //echo("[ 이전 ]");
        //echo("<a href=$PHP_SELF?page=$next><b>[ 다음 ]</b></a> <br>");
    }
    else if($page == intval($num/$viewimg)+1)
    {
        //echo("<a href=$PHP_SELF?page=$preview><b>[ 이전 ]</b></a> ");
        //echo("[ 다음 ]<br>");
    }
    else
    {
        //echo("<a href=$PHP_SELF?page=$preview><b>[ 이전 ]</b></a> ");
        //echo("<a href=$PHP_SELF?page=$next><b>[ 다음 ]</b></a> <br>");
    }
 
    //페이지 설정
    $for = intval($num/$viewimg)+1;
    for($i=1; $i <= $for; $i++)
    {
        if($page == $i)
        {
            echo(" <a href=$PHP_SELF?page=$i><b>[$i]</b></a> ");
        }
        else
        {
            echo(" <a href=$PHP_SELF?page=$i>[$i]</a> ");
        }
    }
    closedir($handle);
?>
<table width="100%" height="500" cellpadding="2" cellspacing="2" border="0">
<tr>
<?
    $handle=opendir("."); //시작할 폴더위치를 지정한다.
    
    while ($imagefile = readdir($handle))
    {
            $code = substr($imagefile,-3);  //확장자검색
            if($code == jpg || $code == gif)  //그림파일확인
            {    
                $k++;
                if(    $k > (($viewimg*$page)-$viewimg) && $k <= ($viewimg*$page))  //나타내야할 부분 추출 한다.
                {
                    $imagehw = GetImageSize($imagefile);  // 이미지 사이크를 구함.
                    $imagewidth = $imagehw[0];  // 이미지 가로길이
                    $imageheight = $imagehw[1];  // 이미지 세로길이
                    $imagewidth20 = $imagewidth+20;
                    $imageheight20 = $imageheight+20;

                    // 이미지 가로길이가 테이블 한칸 가로길이보다 클경우
                    if($imagewidth >= $tdwidth)
                    {
                        $x = $imagewidth/$tdwidth;
                        $imageheight = intval($imageheight/$x);
                        $imagewidth = $tdwidth;
                    }
                    // 이미지 세로길이가 테이블 한칸 세로길이보다 클경우
                    if($imageheight > $tdheight)
                    {
                        $x = $imageheight/$tdheight;
                        $imagewidth = intval($imagewidth/$x);
                        $imageheight = $tdheight;
                    }
                    //그림 세로 출력수
                    if($sero < $imgsero)
                    {
                        echo("<td bgcolor=#f9f9f9 align=center valign=middle width=$tdwidth height=$tdheight><a href=\"javascript:void(window.open('$imagefile','','scrollbars=no,width=$imagewidth20,height=$imageheight20'))\" onFocus=\"this.blur()\"><img src=$imagefile width=$imagewidth height=$imageheight></a></td>\n");
      
                        $garo++;
                        //그림 가로 출력수
                        if($garo%$imggaro == 0)
                        {
                            $sero++;
                            if($sero != $imgsero)
                            {
                                echo("</tr>\n<tr>\n");
                            }
                        }
                    }
                }
            }
        }
    closedir($handle);
?>
</tr>
</table>

<!--소스끝-->
[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
|

댓글 2개

쵝오 !
위에서 12번째줄의 시작폴더를 바꾸면 이미지가 나타나지 않네요...
그대로 쓰면 잘되는데.......
$handle=opendir("."); //시작할 폴더위치를 지정한다.
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 08-01-12 조회 5,315
JavaScript 08-01-12 조회 3,871
MySQL 08-01-12 조회 4,708
Flash 08-01-11 조회 7,601
PHP 08-01-10 조회 4,115
MySQL 08-01-08 조회 4,148
기타 08-01-06 조회 2,619
Flash 08-01-04 조회 1.2만
기타 08-01-02 조회 5,553
MySQL 07-12-28 조회 5,210
JavaScript 07-12-24 조회 3,329
기타 07-12-17 조회 3,832
Flash 07-12-10 조회 5,157
Flash 07-12-10 조회 4,024
기타 07-12-08 조회 3,754
기타 07-12-07 조회 3,853
기타 07-12-07 조회 3,013
정규표현식 07-12-06 조회 5,448
Flash 07-12-04 조회 3,506
MySQL 07-12-04 조회 3,959
JavaScript 07-11-30 조회 4,844
MySQL 07-11-30 조회 5,534
MySQL 07-11-30 조회 7,253
Flash 07-11-29 조회 3,579
기타 07-11-27 조회 4,672
Flash 07-11-27 조회 3,772
Flash 07-11-23 조회 4,811
Flash 07-11-23 조회 4,504
기타
[기타]
07-11-21 조회 3,991
기타 07-11-20 조회 5,050