[ASP] 썸네일 제작 컴포넌트

프로그래밍/PHP|2015. 1. 27. 11:39
반응형

썸네일 만들어 주는 컴포넌트입니다.

 

사용방법도 무지 간단하더군요.

 

KMSThumbNail은 이미지(TIF, TIFF, GIF, JPG, JPEG, BMP, PNG)  파일을 썸네일파일(JPG, GIF)로 만들어 주는 ActiveX Dll입니다.

 

예제)

---------------------------------------------------------------------------------------------------------

Dim FName

Dim TestThumb

 

FName = Server.MapPath (".") & "test.BMP" '이미지 파일의 절대 경로

 

Set TestThumb = Server.CreateObject("KMSThumb.Thumb")

   TestThumb.FileName = FName '절대경로를 넘겨줌

   '절대 경로가 없으면 썸네일 파일이 만들어지지 않습니다.

 

   TestThumb.Width = 100 '생성될 썸네일의 가로 크기를 지정(default 100)

   ' Width 는 1~999까지 가능

 

   TestThumb.Height = 100 '생성될 썸네일의 세로 크기를 지정(default 100)

   ' Height 는 1~999까지 가능

 

   TestThumb.Quality = 100 '생성될 썸네일의 이미지 Quality(JPG로 생성시만 적용)(default 100)

   ' Quality 는 1~999까지 가능 - 100이상이면 의미가 없습니다.

 

   TestThumb.ImgGB = 1 '1이면 JPG, 2이면 GIF로 썸네일 생성(default 1)

 

   TestThumb.ImgScale = 2 '2이면 Scale Mode, 1이면 지정한 Height, Width로 썸네일 생성(default 1)

   '원본 1000,1500의 이미지가 있을시 100,100으로 썸네일을 생성하면 이미지의 세로가 축소 변경이 된다.

   '위의 이미지는 100, 150으로 생성을 하면 이미지 변경없이 썸네일의 이미지가 만들어질 것이다.

   '그래서 ImgScale란 것을 만들어 보았다.

   'ImgScale가 2이면 이 방법이 적용이 된다.

   '원본의 이미지와, 생성될 썸네일의 이미지를 비교하여 가로,세로중 썸네일 이미지가 큰 것의 길이에 따른다.

   ' ex) 1000,500 을 100,100으로 적용하면(ImgScale = 2)

   ' -> 100,50 으로 썸네일 이미지가 생성이 된다.

   ' ex2) 500,1000 을 100,100으로 적용하면(ImgScale = 2)

   ' -> 50,100 으로 썸네일 이미지가 생성이 된다.

 

'추가

TestThumb.FrontStr = "KMS_"

'FrontStr을 이용하여 기존의 Thumb_로 통일되어 있던 앞의 이미지명을 바꿀수 있습니다.

'위와 같이 한다면 "KMS_이미지명.jpg"라고 썸네일이 생성이 되게 됩니다.

' ex) KMS_test.jpg

 

 

   TestThumb.SaveThumb '썸네일 생성 메소드

 

'추가

response.write TestThumb.imgStr

'썸네일의 이미지명을 반환합니다.  - 결과값 => KMS_test.jpg

 

Set TestThumb = nothing

---------------------------------------------------------------------------------------------------------

 

 

업그래이드 방법은 zip파일에 포함된 Readme.txt를 꼭 읽어 주세요..(3. 설치편)

 

[출처] 프로그래머들의 세계 | 필더 (http://cafe.naver.com/programmers/120)


썸네일컴포넌트.zip


반응형

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] 특정문자로 자르기 (나누기)  (0) 2015.01.27
[ASP] 전화번호에서 하이픈(-) 제거  (0) 2015.01.27
[JSP] Hello, JSP!!! 출력 소스  (0) 2015.01.27
한글 문자열 자르기  (0) 2015.01.27
[php] 문자열 자르기  (0) 2015.01.27

댓글()

[JSP] Hello, JSP!!! 출력 소스

프로그래밍/PHP|2015. 1. 27. 11:39
반응형

<html>
<body>
<% 
String str = request.getParameter("name");
if(str == null)
{ str = "JSP"; }
%> 
Hello, <%= str %>!!! 
</body>
</html>
 

 

[출처] Think | 재뇽 (http://timetothink.tistory.com/78)

반응형

댓글()

한글 문자열 자르기

프로그래밍/PHP|2015. 1. 27. 11:39
반응형

'최근 게시글' 등의 제목에서 한글깨짐없이 몇 byte 만 추출 해올 수 있습니다.

 

$head = mb_strimwidth($head, 0, 26, "..", "EUC-KR");


반응형

댓글()

[php] 문자열 자르기

프로그래밍/PHP|2015. 1. 27. 11:38
반응형

 substr()

Returns the extracted part of string, or FALSE on failure or an empty string.

문자열의 압축을 푼 일부를 반환하거나, FALSE를 장애 또는 빈 문자열에.(구글번역ㅠㅠ)

■ 원형

string substr ( string $string , int $start [, int $length ] )

■ 인수

$string = 오려낼 문자열

$start =  오려낼 시작지점

$Length = 오려낼 범위

■ 예제

<?php
$str = "PHP should I study";
$cstr = substr($str, 4, 6);

echo $cstr;
?>

■ 결과

should


■ php.net 예제

<?php
$rest 
substr("abcdef"0, -1);  // 반환값 "abcde"

$rest substr("abcdef"2, -1);  // 반환값 "cde"
$rest substr("abcdef"4, -4);  // 반환값 false
$rest substr("abcdef", -3, -1); // 반환값 "de"
?>

= 설명(제 생각이므로 틀릴수도있습니다 0_0;;)

$rest substr("abcdef"0, -1);  // 반환값 "abcde"

0(문자열 처음부터), -1(마지막문자 1자리(f) 를 제외) 반환

$rest substr("abcdef"2, -1);  // 반환값 "cde"

2(문자열 2번째 자리부터), 끝자리 왼쪽으로 한자리를 제외한 문자열 반환

$rest substr("abcdef"4, -4);  // 반환값 false

문자열 4번째자리부터(abcdef), 끝자리에서 왼쪽으로 4번째자리까지(abcdef)

하지만 범위가 시작점부터 뒤에 있으므로 False(안됌)

$rest substr("abcdef", -3, -1); // 반환값 "de"

문자열 끝에서 왼쪽으로 3칸앞(abcdef),문자열 끝에서 왼쪽으로 1칸앞(abcdef)

 

[출처] 코딩덕후 (http://c_study_s.blog.me/30132617539)

반응형

댓글()

[html] 마우스 올려놓았을때 이미지 변경시키는 방법

반응형

<img src="sysdocu_off.gif" onmouseover="this.src='sysdocu_on.gif';" onmouseout="this.src='sysdocu_off.gif';">

 

sysdocu_off.gif 는 마우스 올리기전의 이미지이고

sysdocu_on.gif 는 마우스 올리면 변경될 이미지입니다.

 

반응형

댓글()

echo "" 구문 안의 스타일시트가 적용이 되지 않을때

프로그래밍/PHP|2015. 1. 27. 11:38
반응형

큰따옴표를 ' 작은따옴표로 바꾸시고요

 

만약 그 안에 작은따옴표가 들어간다면

 

큰따옴표 앞에 를 붙여주세요

 

echo ("onmouseover="this.bgColor='#efefef';"");

 

이런식으로 해주시면 됩니다..^^

 

[출처] 지식인 (http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040203&docId=68776888&qb=ZWNobyDslYjsl5AgJw==&enc=utf8&section=kin&rank=2&search_sort=0&spq=1&pid=g/gyuc5Y7tNssu35dKdssc--065608&sid=T-TyCAnL9E8AAC3JGDc)

반응형

댓글()

로그인 박스 안에 텍스트(이미지)넣기

반응형

네이버나 다음 등 포털 사이트들의 로그인 박스를 보면 박스안에 아이디/비밀번호 이런 글씨가 들어가 있고

클릭하면 사라졌다 클릭 해제하면 다시 나오는 효과를 볼수 있습니다.


 

일단 스타일부분 입니다. 아래소스를 페이지 head와 head 사이 또는 css 파일에 넣어주세요.

id_blur / id_focus 부분이 아이디 input 효과

pw_blur / pw_focus 부분이 비밀번호 input 효과입니다.

 

<style>
ol,ul,li {list-style:none;}
.id_blur { border:#ddd 1px solid; background: transparent url(bg.gif) no-repeat; font-size:11px; font-family:돋움; width: 125px; height: 15px; line-height:14px; background-color:#f9f9f9;} 
.id_focus { border:#ddd 1px solid; background-color:#f9f9f9; color:#9e9e9e; font-size:11px; font-family:돋움; width: 125px; height: 15px; line-height:15px; } 
.pw_blur {border:#ddd 1px solid; background: transparent url(bg2.gif) no-repeat; font-size:11px; font-family:돋움; width: 125px; height: 15px; line-height:15px; background-color:#f9f9f9;} 
.pw_focus { border:#ddd 1px solid; background-color:#f9f9f9; color:#9e9e9e; width: 125px; height: 15px; font-size:10px; line-height:15px;}
</style>

페이지에 들어갈 소스입니다.
원하는 위치에 이 소스를 넣어주시면 됩니다.
 

<ul >
  <li>
    <input type="text" name="txtUserId" onFocus="this.className='id_focus'" onBlur="if ( this.value == '' ) { this.className='id_blur' }"  class='id_blur' />
  </li>
  <li>
    <input type="password" name="txtUserPw" onFocus="this.className='pw_focus'" onBlur="if ( this.value == '' ) { this.className='pw_blur' }"  class='pw_blur' />
  </li>
</ul>

[출처] HSBN 향사발 (http://blog.naver.com/shadk18/10125136905)

반응형

댓글()

input 입력상자 사이즈 고정시키기

반응형

특히 type=password 일 경우 text 와 다르게 높이가 약간 높아지게 되는데

text 와 높이를 같게 하려면 아래와 같이 style 을 이용해 높이를 고정 시키면 됩니다.

 

<input type="password" name="password" style="width:120px;height:20px">

 

반응형

댓글()

쿠키를 이용한 팝업창 소스

반응형

==팝업창을 여는 페이지==

<script>

//팝업창 함수 정의

function popup()
{
 winopen=window.open('popup.html','winopen','width=팝업창 폭,height=팝업창 넓이,scrollbars=no');
}

//쿠키 검사 함수 정의

function getCookie(name)
{
       var prefix = name + "=";
       var cookieStartIndex = document.cookie.indexOf(prefix);
       if (cookieStartIndex == -1) return null;
       var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
       if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
       return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

//쿠키가 존재하지 않으면 팝업창을 연다.

if(getCookie("쿠키이름")==null) 
{
 popup();
}

</script>

<html>

코딩...

</html>

 

 

==열릴 팝업창 소스==

<script>

//쿠키 생성 함수정의

function setCookie( name, value, expiredays ) 

var todayDate = new Date(); 
todayDate.setDate( todayDate.getDate() + expiredays ); 
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" 

}

 

//오늘하루이창보지않음 체크시 창을 닫고 쿠키를 생성

function closeWin() 

        setCookie( "쿠키이름", "done" , 1); 
        self.close(); 
}

</script>

<a href='javascript:closeWin('>오늘하루이창열지않음</a>

 

[출처] Programmer's My Dream.. | 철마신 (http://ljmgood123.blog.me/53109660)

반응형

댓글()

이미지 클릭시 팝업창 뜨게 하기

반응형

<img style="cursor: pointer;" onclick="window.open('/html/gift.php', 'window', 'width=500; height=800; scrollbars=yes');" src="/images/images.jpg" border="0" complete="complete"/>

반응형

댓글()

세션을 이용한 로그인 로그아웃(php)

프로그래밍/PHP|2015. 1. 27. 11:36
반응형

CREATE TABLE sess_test ( no int(4) unsigned NOT NULL auto_increment, sess_id char(10) NOT NULL default '', sess_passwd char(25) NOT NULL default '', level int(1) NOT NULL default '0', PRIMARY KEY (no) ) TYPE=MyISAM; 

먼저 위의 스키마처럼 테이블을 생성합니다. 
sess_id 는 유저 아이디가 저장될 필드 이름입니다. 
sess_passwd 는 유저 패스워드가 저장될 필드 이름입니다. 
level 은 회원들의 레벨,즉 관리자와 일반회원을 구분하기 위한 필드 입니다. 
편의상(제 임의대로) level 9가 관리자, level 1 이 일반회원으로 구분 하기 위합입니다. 
지금 강좌에선 단순히 로그인 로그아웃 처리만... 하겠습니다. 
관리자 비회원 구분도... 디비에서 불러온 level 의 판단으로 이루어지므로 그리 어렵지 않습니다.




connect.php 의 구성 

아래처럼 connect.php 를 구성합니다. 디비와 연결 하는 부분이므로... 디비와 연동되는 페이지는 incldue 하여 사용합니다. 

<? $localhost="localhost"; $user_id="root"; //디비 접근 아이디 
$user_passwd=""; //디비 접근 패스워드 
$db_name=""; //접근할 디비 이름 //mysql 에 접속하기 위한 구문... 이 파일을 테이블에 접근할 페이지에 include 하여 사용한다. 
$connect=mysql_connect("$localhost","$user_id","$user_passwd") or die("SQL server에 연결할수 없습니다."); mysql_select_db("$db_name",$connect); ?>




sess_func.php 의 구성 페이지 이동함수 메세지 출력 함수를 정의 한 파일입니다. 

<? //페이지 이동 함수 

function GoGo($url) { 
global $connect; echo"<meta http-equiv="refresh" content="0; url=$url">"; 
if($connect) @mysql_close($connect); exit; 
} //메세지 보여주는 함수 메세지창 //메세지를 보여주고 뒤로 백한다 

function message($msg) {
echo(" <html><head> <script name=javascript> window.alert('$msg'); history.go(-1); </script> </head></html> "); 
exit; 
} //메세지를 보여주고 가고자할 페이지로 이동한다... 

function GoTo($msg="",$url) { 
global $connect; 
echo(" <html><head> <script name=javascript> window.alert('$msg'); </script> </head></html> "); 
echo"<meta http-equiv="refresh" content="0; url=$url">"; if($connect) @mysql_close($connect); exit; 
} ?>





회원가입폼

session_member.php 
<? 
session_cache_limiter(''); 
session_start(); 
include "connect.php"; //디비에 접근하기위해 정의한 페이지를 include 시킨다.... 
include"sess_func.php"; // 함수를 정의한 페이지를 include 시킨다... 
//테이블을 생성한다음 
//session_cache_limiter('') 와 session_start(); 를 위와 같이 선언해 줍니다. 
//session_start 는 세션을 사용하겠다고 선언해주는 것입니다. 
//session_cache_limiter('') 를 해주는건 만료된 페이지입니다... 를 보여주지 않게 해주기 위함입니다. 
//저는 mode 라는 변수를 써서 한페이지에 값(아이디와 패스워드)를 입력받는 처리와 
//값이 테이블에 저장되는 코드를 구분하였습니다. 
//만약 mode 라는 변수에 값이 없다면... 즉, 처음 이 페이지를 호출하게 되면 mode 라는 변수에 값이 
//들어 있지 않게 되므로 .... 입력받는 폼만 보여주게 됩니다. 
//$PHP_SELF 는 자기자신(현재페이지를)을 나타내는 php 변수 입니다. 
//$PHP_SELF 를 쓰면 Submit 을 클릭했을시 자기자신 즉 session_member.php 를 호출 하게 되겠죠... 
//그리고 input type=hidden 으로 변수 이름은 mode 값은 ok 를 주었으므로 
//submit 을 클릭하면 $mode 변수에 ok라는 값이 들어가서 session_member.php 를 호출하게 됩니다. 

if(!$mode) { 
echo(" <form name=sign method=post action=$PHP_SELF> <input type=hidden name=mode value=ok> <table border=1 cellpadding=0 cellspacing=0> <tr> <td>ID</td> <td><input type=text name=id size=12 maxlength=10></td> </tr> <tr> <td>Passwd</td> <td><input type=password name=passwd size=12 maxlength=10></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Submit></td> </tr> </table> </form> "); 
} //위에서 정의한 폼의 값이 넘어오게 됩니다. 
//위의 폼에서 input type=hidden 으로 mode 란 변수를 선언하고 값은 ok 를 주었으므로 
//이리로 값이 넘어 오게 되겠죠^^ 
if($mode==ok) { //공백.. 값을 입력시키지 않으면 메세지를 뿌린다. 
if(!ereg("([^[:space:]])",$id)) message("id를 입력하세요"); 
if(!ereg("([^[:space:]])",$passwd)) message("password 를 입력하세요"); //sql 에 접근해서 입력한 아이디와 같은 아이디가 있는지 찾는다. 
$sql=mysql_query("select * from sess_test where sess_id='$id'") or die(mysql_error()); 
$check=mysql_num_rows($sql); //만약 check 변수에 값이 있으면 똑같은 아이디가 있는것이 되겠죠? 
//그럼 메세지창을 뿌립니다. 
if($check) message("같은 아이디가 있습니다. 다른아이디로 해주세요!!"); //그렇지 않다면... 즉 같은 아이디가 없다면 값을 입력합니다. 
//입력시 관리자가 아니므로 레벨은 1 로 입력 합니다.... 
else { 
$sql=mysql_query("insert into sess_test values('','$id','$passwd',1)") or die(mysql_error()); 
GoTo("가입하셨습니다","session_start.php"); } 
}




회원체크

session_start.php 
<? 
session_cache_limiter(''); 
session_start(); //테이블을 생성한다음 
//session_cache_limiter('') 와 session_start(); 를 위와 같이 선언해 줍니다. 
//session_cache_limiter('') 를 해주는건 만료된 페이지입니다... 를 보여주지 않게 해주기 위함입니다. 
//현재 세션레지스터 안에 값이 없어서 로그인 하지 않은 상태라면 
//폼네임은 login 이고 
//text Box 에서 입력 받은 값은 id,passwd 변수로 sess_login.php 페이지 로넘아가게 됩니다. 
if(!$HTTP_SESSION_VARS) { 
echo(" <form name=login method=post action=sess_login.php> <table border=1 cellpadding=0 cellspacing=0> <tr> <td>ID</td> <td><input type=text size=10 name=id maxlength=10></td> </tr> <tr> <td>Passwd</td> <td><input type=text size=10 name=passwd maxlength=10></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Submit><input type=reset value=Reset></td> </tr> </table> </form> "); 

//세션 레지스터 level 이란 세션 변수 안에 값이 있다면... 값이 무엇이든지 간에 로그인 한 상태라면 
//아래의 상태를 보여줍니다. 
else {
echo(" <table border=1 cellpadding=0 cellspacing=0> <tr> <td>$HTTP_SESSION_VARS[sess_id] 님 로그인...</td> </tr> <tr> <td><a href="sess_logout.php>로그아웃</a></td> </tr> </table> </form> ); 

?>




로그인

sess_login.php 넘어온 값을 세션레지스터에 넣어서 로그인 시킵니다. 
<? 
session_cache_limiter(''); 
session_start(); 
include "connect.php"; //디비 정의 페이지 
include include "sess_func.php"; //함수 정의 페이지 include 
//넘어온 아이디와 패스워드 값으로 sess_test 테이블에 접근하여 해당하는 
//필드를 배열형태로 가져옵니다. 
$sql=mysql_query("select * from sess_test where sess_id='$id' && sess_passwd='$passwd'") or die(mysql_error()); 
$row=mysql_fetch_array($sql); //아이디와 패스워드가 일치하는 사용자가 없으면...(입력된 사용자가 없으면) 메세지를 뿌린다. 
if(!$row) message("그런 사용자는 없습니다."); 
else { //여기 부터 중요 //배열형태로 가져온 필드에 에서 sess_id 필드 즉 id 를 sess_id 란 변수에 넣어주고 
//level 을 $sess_level 변수에다 넣어줍니다. 
//그리고 난후에 세션 에다 그 값을 넣어주는 거죠^^ 
$sess_id=$row[sess_id]; 
$sess_level=$row[level]; 
session_register(sess_id); 
session_register(sess_level); 
GoGo("session_start.php"); } 
?>




로그아웃

세션을 이용한 로그인 로그아웃 마지막 입니다. 
로그아웃 하는 부분입니다. 
제가 로그인 로그아웃 을 구현할때 사용하는 방식을 거의 다 기술 하였습니다... 
처음 세션을 다룰때 정말 삽질 많이 했었읍니다. 
세션의 개념만 잘 이해하고 있으면...쉽게 구현할수 있습니다. 
허접하지만... 잘 봐주시고 엽기적으로 응용 해주세요 회원 수정, 삭제 부분은 넣지 않았습니다. 
태그부분도 잡 태그는 넣지않아 보기 편하도록 노력 하였습니다. 
그럼... 즐 프 하시길^^ 
sess_logout.php 
<? 
session_cache_limiter(''); 
session_start(); 
include"sess_func.php"; //로그아웃 
//아래와 같이 session_unregister 로 세션 레지스터를 날리고 
//session_destroy 로 생성된 세션 을 지워줍니다 
session_unregister(sess_id); 
session_unregister(sess_level); 
session_destroy(); 
GoTo("Logout 하셨습니다.","session_start.php"); 
?> 

출처 : 미니위니

[출처] 플래시 카페 | 색시유져 (http://cafe.naver.com/q69/8058)

반응형

댓글()