'2008/01/18'에 해당되는 글 109건

  1. 2008.01.18 마우스를 대면 커지는 글씨
  2. 2008.01.18 마우스 오버시 뜨는 경고창
  3. 2008.01.18 잼나는 퍽 소스
  4. 2008.01.18 이미지에 여러가지 효과 주기
  5. 2008.01.18 소스보기 금지태그 1
  6. 2008.01.18 익스플로러 창 조절하기 - resize, 리사이즈
  7. 2008.01.18 테이블에 간단한 라인효과주기
  8. 2008.01.18 링크된 곳 밑줄/컬러/배경/크기 지정하는 태그
  9. 2008.01.18 얼굴문자 이미지
  10. 2008.01.18 라디오 버튼을 이용한 alert 창
  11. 2008.01.18 배경음악 삽입하기 - bgsound/embed
  12. 2008.01.18 홈 들어갈 때와 나갈 때 인사말창 띄워주기
  13. 2008.01.18 게시판 글 목록 테이블을 투명하게(배경 이미지 적용시)
  14. 2008.01.18 투명한 스크롤바 만들기
  15. 2008.01.18 천사가 날아가는 간단한 마퀴태그
  16. 2008.01.18 배경이미지가 보이는 투명한 아이프레임 만들기
  17. 2008.01.18 iconv 함수 사용가능토록
  18. 2008.01.18 php 재컴파일시.. make distclean
  19. 2008.01.18 gd 추가하기
  20. 2008.01.18 PHP로 사용용량, 남은용량 알아내기
  21. 2008.01.18 PHP로 DB 사용용량, 남은용량 알아내기.
  22. 2008.01.18 마퀴태그를 이용해서 텍스트 멋지게 꾸미기
  23. 2008.01.18 vml을 이용한 풍선 툴팁 만들기
  24. 2008.01.18 dotted 이미지 없이 링크에 점선 밑줄 나타내는 태그
  25. 2008.01.18 음악 플레이 멈춤 기능
  26. 2008.01.18 파일업로드 삭제 클래스
  27. 2008.01.18 디렉토리..class.sh_dir_cls.inc
  28. 2008.01.18 session_save_path() 2
  29. 2008.01.18 table_sql 을 엑셀파일로 다운받기.
  30. 2008.01.18 get_magic_quotes_gpc()


마우스를 대면 커지는 글씨...^^*


마우스를 위의 글자에 올려 보세요.
<p style=font-size:24 onMouseOver=this.style.fontSize=35 onMouseOut=this.style.fontSize=20>마우스를 대면 커지는 글씨...^^*</p>

font-size:24는 마우스 대기전 크기
fontsize=35는  마우스를 올렸을때 크기
fontsize=20은  마우스가 내려왔을때 크기입니다.

'인터넷관련' 카테고리의 다른 글

마퀴 태그를 이용한 테이블 공지창  (0) 2008.01.18
아이콘 모음 ( 고문편 )  (0) 2008.01.18
이쁜 공지창(fieldset)  (0) 2008.01.18
문서에 테두리 두르기  (0) 2008.01.18
마우스 오버시 뜨는 경고창  (0) 2008.01.18
잼나는 퍽 소스  (0) 2008.01.18
이미지에 여러가지 효과 주기  (0) 2008.01.18
소스보기 금지태그 1  (0) 2008.01.18
Posted by 알 수 없는 사용자
,






☞이곳에 마우스를 대보세요.☜

<a onmouseover="alert('재밌나요?')"> ☞이곳에 마우스를 대보세요.☜</a>

onmouseover을 onlick로 바꾸시면 클릭시 경고창이 뜹니다.
Posted by 알 수 없는 사용자
,



소스 :
<input type=button value="클릭하시면 책임 못집니다!" onclick="alert(' 눌러봐요!');alert('큰일 났네..');alert('지겨울 텐데...');alert('언제 끝날까요?');alert('나도 몰라~');alert('열받져?');alert('화나져?');alert('근데 어쩔래나..');alert('언제 끝날지 저두 몰러여~');alert('왜냐구요?');alert('띰띠마니까...!');alert('이제 구만?!?');alert('시로여~');alert('*^^*');alert('이제 정말정말 구만할까요?');alert('알았어요');alert('그럼 정말루?');alert('이제 빠빠~');alert('이데루 보낼수는 없지...');alert('멜렁~!!');alert('끝낼까? 말까?');alert('나두 끝내기는 싫지만.. ');alert('끝내길 원한다면 할수 없져..');alert('누른게 잘못이지..');alert('그니까 누르지 말라니까!!');alert('왜 눌렀어!!!!!!');alert('아에 끝내지 말까부당...');alert('내가 바졌다..');alert('이젠 정말 빠빠~');alert('이제 정말 ByeBye')">

alert(' 눌러봐요!'); 이 부분만 추가하시면 얼마든지 늘릴 수 있습니다.


Posted by 알 수 없는 사용자
,
아래 외의 필터 태그를 알고 싶으시면 좌측 html강좌 필터태그를 읽어보세요.

<img src="http://oxtag.com/html/img/banner3.gif"> 
칼라 - ★ 
<img src="http://oxtag.com/html/img/banner3.gif"style="filter:gray()"> 요건 흑백!!@_@!!
<img src="http://oxtag.com/html/img/banner3.gif" onmouseover="this.style.filter='gray'" onmouseout="this.style.filter=''"> 마우스를 대면 흑백으로 변합니다
<img src="http://oxtag.com/html/img/banner3.gif"style="filter:blur(direction=135,strength=100)"> 와~ 싱기!!뿌옇게하기..
<img src="http://oxtag.com/html/img/banner3.gif"style="filter:alpha(opacity=100,style=2,finishopacity=0)"> 헉,안개효과!!
<img src="http://oxtag.com/html/img/banner3.gif" style="filter:fliph()"> 좌우가 바뀜
<img src="http://oxtag.com/html/img/banner3.gif" style="filter:flipv()"> 위 아래가 바뀜
<img src="http://oxtag.com/html/img/banner3.gif" style="filter:invert()"> 그림자 효과
<img src="http://oxtag.com/html/img/banner3.gif" style="filter:wave(strength=8,freq=3,lightstrength=10,phase=25,add=0)"> 물결
<img src="http://oxtag.com/html/img/banner3.gif" style="filter:xray()"> x-ray(?)
Posted by 알 수 없는 사용자
,

소스보기 금지태그 1

<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onkeydown="return false">


소스 설명 :

위의 소스는 body 태그에서 사용합니다.

html 문서에 있던 body 태그에...

oncontextmenu="return false" onselectstart="return false" ondragstart="return false"

부분을 붙여넣기 하기만 하면 됩니다.

필요한 것만 넣어서 사용해도 되고 모두 사용해도 됩니다.

oncontextmenu="return false"    
마우스 오른쪽 버튼을 눌렀을 때 바로가기 메뉴가 나타나지 않도록 합니다.

onselectstart="return false"    
마우스로 선택을 하지 못하게 합니다.

ondragstart="return false"      
마우스로 드래그를 하지 못하게 합니다.

onkeydown="return false"        
키보드 제어입니다.(글이 안써지죠.)


Posted by 알 수 없는 사용자
,
1024... 혹은... 그 이상의 해상도에서 홈페이지 제작 작업하시는 분들께는 아주 유용한 팁일껍니다.

자기가 만들어 놓은 홈페이지가. 1024*768 또는 800*600에서 어케 보일지 궁금해서 간혹 자기의 모니터

해상도를 바꾸시는분이 안계신지여... 이젠 그러지 마시고,  


주소창에. 다음과 같이 넣구선 즐겨찾기. 혹은 연결Bar에 등록하셔서. 언제든지 써먹읍시다.

1024*768루 창을 세팅 ---> javascript:window.resizeTo(1024,768);
800*600으루 창을 세팅 ---> javascript:window.resizeTo(800,600);

근데. 막상 저넘의 소스를 보니 어디에 어떻게 붙여야할지 고민이 되더군요.

일단 익스플로러의 주소적는 창에 그냥 붙여봅시다.

javascript:window.resizeTo(800,600);

요런 식으로 다른 주소는 필요없어요.
그리고 엔터를 팍! 쳐버리면 800*600으로 화면이 확! 변할꺼예요.
다른 홈을 요렇게 보면 깨지는 곳도 꽤 있습니다. 태그피아도 조금 그렇군요...ㅠㅠ

즐겨찾기에 등록하는 방법...
이것도 그냥 등록을 하니까 되지 않더군요.
일단 등록한 즐겨찾기 하나를 써먹어 봅시다.
메뉴에서 '즐겨찾기 구성'에 들어가면 즐겨찾기 주소가 주루룩 나오죠?
거기서 만만한 주소를 하나 찾아서 오른쪽 클릭-->등록정보 를 누르시면  주소적는 창이 나와요.
여기에다가
(ex) javascript:window.resizeTo(800,600)

이렇게 적어주시면 끝~~~~~~!!! 입니다.
이름은 맘대로 바꿔주시구요.
나중에 800*600으로 보고 싶으면 위에서 만든 즐겨찾기를 클릭하면 바로 바뀝니다.

왜 이 팁이 맘에 들었냐면은...
일단 홈페이지를 만들때 해상도를 신경쓰지 않는 사람들도 있지만...
아직까지 800*600에서 보는 사람도 많다는걸 염두에 두고 홈을 만드는것이 좋습니다.
그런 해상도에 따른 홈의 모양을 홈을 만들면서 볼때 유용하게 쓰일것 같아서입니다.
Posted by 알 수 없는 사용자
,
소스:
<table width="500" cellspacing="0" cellpadding="4" bordercolor=#999999 frame=hsides> <tr> <td bgcolor="#efefef" align=center> 간단하게 라인 표현하기</td> </tr> </table>

간단하게 라인 표현하기


frame=hsides는 가로줄, frame=vsides는 세로줄을 표시합니다. 세로줄의 예를 보시죠.

간단하게 라인 표현하기


소스에는 cellspacing="0"으로 했습니다만 cellspacing="1"로 하면
        또 다른 느낌의 표를 만들 수 있습니다.

간단하게 라인 표현하기
Posted by 알 수 없는 사용자
,
아래 소스들은 모두 <head>와 </head> 사이에 넣으세요.

링크에 밑줄 없애기
<style>
<!--
A { text-decoration:none; }
-->
</style>

링크에 마우스 오버시 밑줄 생기게하기
<style>
<!--
a { text-decoration:none; }
A:hover { text-decoration:underline; }
-->
</style>

링크에 마우스 오버시 윗줄 생기게하기
<style>
<!--
a { text-decoration:none; }
A:hover { text-decoration:overline; }
-->
</style>

링크 위아래로 줄생성하기
<style>
<!--
A:link { text-decoration:none; }
A:visited { text-decoration:none; }
A:active { text-decoration:none; }
A:hover { text-decoration:underline overline; }
-->
</style>

링크 주변에 칼라 번지게 하기
<style>
<!--
A:hover { text-decoration: none; background: DDF6DD; }
-->
</style>

링크 글자 롤오버 효과
<style>
<!--
A:hover { text-decoration: none; color: red; }
-->
</style>

링크된 글씨 커지게 하기.
(밑줄은 없어지고.. 밑줄을 그대로 둘려면.. text-decoration:underlink 하시면 됩니다.
<style>
<!--
A:hover {color:#008000; text-decoration:none; font-weight:bold; font-size:20pt }
-->
</style>

마우스 오버시 점선.
<style type="text/css">
<!--
A:hover { border-bottom: dotted green 1px; text-decoration:none}
-->
</style>
Posted by 알 수 없는 사용자
,
권투선수

날개를 펴고....날아라...

널뛰기 파울....

연설중.....친애하는...

눈물 뚝뚝...

Help Me!! 살려줘~

두리번~ 두리번~

얼굴 찌르기 장난-2(앗~ 살벌)

얼굴 찌르기 장난-2(앗~ 살벌)

얼굴 찌르기 장난-3(들킴)

미끄럼틀 타다 쿵~~

아무도 없지? 변신!

뛰다가 엎어짐

뛰다가 엎어짐

울면서 코 훌쩍~~

잠 쿨쿨~~

좀더 모여봐~ 사진 찰칵!

폭탄.. 왜 안터져~ 펑~

공부 중~ 필승!!

안녕히~~ 빠이~~
Posted by 알 수 없는 사용자
,
아래 라디오 버튼을 클릭해보세요.

0  
--->   <input type=radio onclick="alert('0원히 사랑할께')">0  

1  
--->   <input type=radio onclick="alert('1일이 챙겨줄께')">1  

2  
--->   <input type=radio onclick="alert('2젠 너밖에 없으니깐...')">2  

3  
--->   <input type=radio onclick="alert('3년이 지나도 우리사랑 변함 없을꺼야~')">3  

4  
--->   <input type=radio onclick="alert('4랑이란 말로 부족해')">4  

5  
--->   <input type=radio onclick="alert('5랜 기다림이 지나도 널 사랑하는 마음은 변치 않을께~!')">5

6  
--->   <input type=radio onclick="alert('6십세가 된다고 해도 나에겐 소중하니깐 때론... ')">6
7  
--->   <input type=radio onclick="alert('7수도 있고 때릴수도 있지만..')">7  

8  
--->   <input type=radio onclick="alert('8로 안아주고 입술로 내마음을 전해줄꺼야')">8  

9  
--->   <input type=radio onclick="alert('9슬픈 눈물흘리지 않게...그런후..')">9

10  
--->   <input type=radio onclick="alert('10년뒤에 고백할께 정말루 사랑해~')">10  

100(백)  
--->   <input type=radio onclick="alert('백살이 되도록 너만 사랑할거야 ')">100(백)

1000(천)  
--->   <input type=radio onclick="alert('천일동안 널 기다릴거구.. ')">1000(천)

10000(만)  
--->   <input type=radio onclick="alert('만사 다 재쳐놓고 너만 사랑할거야 ')">10000(만)

100000(십만)  
--->   <input type=radio onclick="alert('십만원이 있다면 자전거를 사서 너랑 전국을 누비며 사랑할래')">100000(십만)

1000000(백만)  
--->   <input type=radio onclick="alert('백만원이 생기면 까페를 빌려서 널위한 특별한 하루를 만들거고')">1000000(백만)

10000000(천만)  
--->   <input type=radio onclick="alert('천만원이 생기면 영화관을 빌려서 종일 단둘이 영화를 볼거고')">10000000(천만)

100000000(억)  
--->   <input type=radio onclick="alert('억수로 사랑한데이... ')">100000000(억)

1000000000000(조)  
--->   <input type=radio onclick="alert('조용히 너에게만 말하고 싶다. ')">1000000000000(조)
 
10000000000000000(경)  
--->   <input type=radio onclick="alert('경호원이 돼서 널 평생 지키고 싶어 ')">10000000000000000(경)

100000000000000000000(해)  
--->   <input type=radio onclick="alert('해가 동쪽에서 떠오르는 동안 난 널 사랑할거야^^*')">100000000000000000000(해)
Posted by 알 수 없는 사용자
,
<bgsound src="배경음악파일주소" loop="infinite">
<embed src="배경음악파일주소" loop="true" autostart="true" hidden="true">

위의 bgsound는 익스플로러에서만 실행이되구요.
넷스케이프에서 들리게 하려면 embed를 사용해야합니다.
bgsound에서는 주로 mid 파일(미디파일)이나 wav 파일을 사용을 합니다.
mp3나 asx, asf 등의 파일도 사용이 가능하지만 이러한 파일은 대부분 embed 태그를 사용합니다.

bgsound 태그에서 loop="숫자" 로 해주면 지정한 숫자만큼 배경음악을 반복해서 들려주고요.
loop="infinite" 처럼 쓰면 계속 반복해서 들려준답니다.

embed 태그에서 loop="숫자"는 bgsound 태그의 loop와 같구요..
loop="true" 또는 loop="-1" 이라고 지정하면 계속 반복해서 들려준답니다..
autostart="true"는요.. 어쩌다가 자동으로 실행이 안되는 경우가 있어서 자동으로 실행하라고 써 놓은 것입니다.
hidden="true"는 화면에 플레이 화면이 보여지지 말라고 쓴거랍니다.
플레이 화면이 보여지게 하려면 width="숫자"와 height="숫자"로 가로(width)와 height(세로)을 지정하면 됩니다.
bgsound는 배경음악 태그라서 따로 지정해주는게 없지만 embed 태그는 배경음악에만 사용되지 않고 동영상이나 플래시 파일들을 보여줄 때도 사용이 되어서 이렇게 적어줘야 한답니다.
embed 태그는 좌측 html 강좌중 음악태그를 보시면 자세하게 나와있습니다.

그리고 mp3 파일도 embed 태그로 가능하지만 파일이 커서 속도도 느려지고 음악도 제대로 안들리고 끊겨서 들립니다.
즉, 버퍼링이 심하죠. 가능하면 mp3 파일을 배경음악으로 사용하지 말구여. 정 하구 싶다면 mp3 파일을 asf나 wma 파일로
변환하는 프로그램으로 변환을 시켜서 사용하세요.  변환하는 방법은 좌측 강좌&팁란에 있습니다.
Posted by 알 수 없는 사용자
,
<body onload="alert('어서오세여~')"> 처럼 body 태그에서
onload="alert('들어갈 때 나타나는 메시지창의 글자')"를 붙여 넣으세요..


그리고 나갈 때에는..........

<body onunload="alert('안녕히 가세여~')"> 처럼 body 태그에서

onunload="alert('들어갈 때 나타나는 메시지창의 글자')"를 붙이면 됩니다..

<body onload="alert('어서오세여~')" onunload="alert('안녕히 가세여~')">

처럼 하면 들어갈 때에는 어서오세여~ 라는 창이 뜨구 나갈 때에는 안녕히 가세여~ 라는 창이 뜹니다.

근데 프레임이 나뉘어 있다면 메뉴 프래임 창에서 불러오는 메뉴 HTML 문서에서 사용하세요.

메뉴 프래임은 한번만 뜨는 것이니 홈에 들어오는 경우와 나가는 경우에만 메시지창이 뜨겠죠.

즉 변하지 안고 고정된 프레임 문서에 삽입을 하세요.
그리고 대문이 있는 경우에는 onload 부분은 대문 HTML에서 사용하고 메뉴에서 다시 또 사용하지는 말구요.

그리고 메시지가 여러번 나타났으면 하는 분도 있는데요. 홈에 사람들이 처음 오는 경우가 아니라면 매 번 들어오거나

화면을 새로고침 할 때마다 메시지창이 여러 번 뜬다면 엄청 짜증을 내겠죠.
그러니 메시지창은 최소로 사용을 하는 게 좋답니다.^^
Posted by 알 수 없는 사용자
,
무료로 제공하는 게시판을 링크로 사용하시는 분들에게 아주 유용한 소스 같네요.
게시판에 백그라운드 이미지를 넣더라도 게시판 글목록에 가려지죠. 그래서 글 목록을
투명하게하는 소스를 소개합니다.

1번 링크는 아래 스타일시트를 적용한 게시판이구요. 2번 링크는 원래의 게시판에 백그라운드 이미지만
적용했습니다. 일반적으로 2번 링크 처럼 사용을 하죠. 제가 적용한 이미지는 테스트라 별루 안이쁘지만
여러분이 응용을 해보세요. 그럼 무료 게시판이라구 하더라도 이쁘게 만들 수 있습니다.

<style>
table { background-color: transparent; }
tr { background-color: transparent; }
td { background-color: transparent; }
</style>

<table>과 <tr>, <td> 태그에서의 배경 색을 투명하게 만든 것입니다.
게시판 관리자 설정 부분에서 HTML 태그를 입력할 수 있는 곳에다 소스를 붙여넣기 하면 됩니다.
그리고 게시판 화면에 배경그림을 지정하고 싶다면 글 목록 화면의 배경그림 지정하는 부분에서
지정해줘도 되구요. 게시판 화면 전체에 배경그림 지정할 수 있도록 style 부분에 body 부분을
추가해도 됩니다. 아래 소스는 게시판에 배경색과 백그라운드 이미지를 지정한 경우입니다.

<style>
body { background:배경색 url("배경그림주소") no-repeat fixed right bottom; }
table { background-color: transparent; }
tr { background-color: transparent; }
td { background-color: transparent; }
</style>


'배경색'이라는 글씨 대신 white, black 또는 16진수를 써서 색이름을 써주면 됩니다.
'배경그림주소'에는 http:// 로 시작하는 배경으로 사용할 그림의 주소를 적어주면 됩니다.
no-repeat는 화면에 그림이 하나만 나오게 하는 경우구요.(무반복) 화면 전체에 그림이 계속
나오게 하려면 repeat 라고 고치구요. repeat-x는 가로로만 연달아 그림이 나오게 하는거구요.
repeat-y는 세로로만 연달아 그림이 나오게 하는거랍니다.

fixed 는 화면에서 배경 그림이 고정되도록 하는 것이랍니다. 스크롤바를 움직여도 배경그림은
움직이지 않고 그대로 있는 것이죠. right bottom 는 화면에서 오른쪽(right), 아래(bottom)에 배경
그림이 나타나게 하는 것이랍니다. 왼쪽은 left, 가운데는 center, 오른쪽은 right 라고 써주구요.
위는 top, 가운데는 center, 아래는 bottom 이라고 써주세요. 그러면 배경 그림은 원하는 위치에 나오게
할 수 있겠죠? 배경 그림의 위치를 지정해줬어도 repeat라고 해주면 그림은 위치에 상관없이 화면에
모두 나오게 될꺼에요. 그리고 작은 그림이 커져서 화면 가득히 나오게는 못합니다.
Posted by 알 수 없는 사용자
,
투명 스크롤바 예제 : http://oxtag.com/html/ex/scrollbar_color.html

스크롤바 명칭 : http://oxtag.com/html/ex/scrollbar.html

<style type="text/css">
body {
scrollbar-face-color: #FFFFFF;
scrollbar-shadow-color: #20b2aa;
scrollbar-highlight-color: #20b2aa;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-darkshadow-color: #FFFFFF;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #20b2aa
}
</style>
Posted by 알 수 없는 사용자
,



<marquee direction="up" behavior="alternate" scrollamount="1" scrolldelay="70" width="100%"><marquee direction="right" scrollamount="1" width="100%"><img src="http://oxtag.com/html/img/angel2.gif" border=0></marquee></marquee>

마퀴태그의 소스 설명은 좌측 html 메뉴에 자세하게 있습니다. 참조하세요.
Posted by 알 수 없는 사용자
,
불러올 문서 즉 아이프레임의 문서 헤드 안에 아래 태그를 넣으세요.

<style type="text/css">
<!--
body {background-color:transparent; filter: Alpha(Opacity=40)} // 수치가 클수록 불투명.
// Opacity 값은 0에서 100까지 지정해줄 수 있습니다. 0은 완전투명, 100은 완전불투명
-->
</style>


그리고 위 문서를 삽입하는 문서에 아이프레임 태그안에 allowTransparency="true" 태그를 넣습니다.


<iframe src="위스타일시트가 들어간 문서 경로" allowTransparency="true"></iframe>


미리보기는 없구요. 이런 transparent를 적용한 게시판입니다 위 링크를 클릭해보세요.

이와 같은 형태입니다. 이미지를 대충 했더니 좀 어지럽죠. board1은 위 태그를 적용한거구요.

board2는 배경 이미지만 적용한 것입니다. 원래 이 게시판은 무료게시판의 글 목록 투명하게하기 에제라는....
Posted by 알 수 없는 사용자
,

iconv...
------------------------------------------

0. php디렉토리에서..
    PHP 재컴파일 할 경우
config.cache 파일 지우라 !
make clean
    ##rm -rf php


1. 기존의 /usr/local/php-4.3.2 을 없애고, 새로이..
    ##mv /usr/local/php-4.3.2 /usr/local/php-4.3.2____old
    ##tar zxvf php-4.3.2....


2. 설정
[14:17:20 Mon Dec 22 [root@myCom ~]# cd /usr/local/apache_1.3.22/
[14:17:47 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# ./configure


[14:17:58 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# cd ../php-4.3.2/
[14:18:22 Mon Dec 22 [root@myCom /usr/local/php-4.3.2]# ./configure --with-apache=/usr/local/apache_1.3.22 --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache_1.3.22/conf --with-exec-dir=/usr/local/apache_1.3.22/bin --with-enable-track-vars=yes --enable-ftp --enable-sockets --enable-sysvsem=yes --enable-sysvshm=yes --enable-shmop --enable-gd-native-ttf --enable-mailparse --with-gd=/usr/local/gd-2.0.1 --with-zlib --with-zlib-dir=/usr/lib  --with-jpeg --with-jpeg-dir=/usr/lib --with-png --with-png-dir=/usr/lib    --with-iconv

[14:19:37 Mon Dec 22 [root@myCom /usr/local/php-4.3.2] make; make install


[14:19:37 Mon Dec 22 [root@myCom /usr/local/php-4.3.2]# cd ../apache_1.3.22/
    [14:19:40 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# ./bin/apachectl stop
[14:19:40 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# ./configure --prefix=/usr/local/apache_1.3.22/ --activate-module=src/modules/php4/libphp4.a
[14:19:40 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# make;   make install
    [14:20:06 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22/bin]# ./apachectl start
------------------------------------------

Posted by 알 수 없는 사용자
,

====================================================

PHP 재컴파일 할 경우

config.cache 파일 지우라 !

make clean

rm -rf php



====================================================

- 환경설정을 다시 해야할 경우
혹시 설치진행 중에 잘못된 명령이나 옵션설정 등으로 하여 문제가 발생했을 때, 기존 설정 내용을 가지고 있는 config.cache을 지우지 않고 진행하면 수정된 내용이 반영되지 않으므로 아래의 명령을 수행 후 환경 설정을 새로이 하고 재 설치하도록 한다.
# rm config.cache
# make clean
또는
# make distclean // 위의 두 명령과 동일하다

====================================================

-. 컴파일 및 설치
# make // 컴파일을 한다. 시스템 사양에 따라 10-20분 소요
# make install // MySQL을 설치한다.

Posted by 알 수 없는 사용자
,

gd 추가하기

인터넷관련 2008. 1. 18. 10:01

( http://phpschool.com/bbs2/inc_view.html?id=25583&code=install2&start=0&mode=&s_que=&field=&operator=&period= )



(조사 결과, apm 설치된 기존의 환경에 gd 라이브러리를 추가하고 싶을때,
DSO방식으로 설치되었다면  php만 재컴파일 하면 되고,
DSO방식이 아니라면 아파치와 php 두개를 재컴파일 해야 된다고 나와있었습니다.
그래서 그런 여러 조언들을 참고로 아래와 같이 실행했습니다.)


(몇번의 시행착오뒤에) 어떤 오류메세지 없었고,  컴파일은 성공적으로 수행된 듯 싶었습니다.

그런데, 아래와 같이 실행했을때, 그 결과가 , gd support 라는 항목이 phpinfo(); 에 나타나지 않습니다.
그러니까, php ./configure 한 것이 전혀 반영이 안되고 있는 상황입니다.

처음에는 ./apachectl restart 를 했다가,
tip / qna 란의 글을 보고 , ./apachectl stop & ./apachectl start 를 했습니다면, 여전히 반영이 안되고 있습니다.

혹시나 하는 마음에
/etc/rc.d/init.d/xinetd  restart 도 해보았지만, 전혀 감감무소식입니다.


tip 란과 qna 란의 글들을 검색을 해보았지만, 도저히 해결책을 찾지 못해서 이렇게 질문을 올립니다.
제가 한 방식, 어디가 잘못되었는지 아시는 분 계시는 도움말씀 부탁드립니다.


+++++++++++++++++++++++++++++++++++++++++++++++++++

1. 확인..

[14:16:57 Mon Dec 22 [root@myCom ~]# rpm -ql libpng
/usr/lib/libpng.so.2.1.0.9
/usr/share/doc/libpng-1.0.9
/usr/share/doc/libpng-1.0.9/CHANGES
/usr/share/doc/libpng-1.0.9/README
/usr/share/doc/libpng-1.0.9/TODO
/usr/share/doc/libpng-1.0.9/example.c
/usr/share/doc/libpng-1.0.9/libpng.txt
/usr/share/man/man5/png.5.gz
  
[14:17:14 Mon Dec 22 [root@myCom ~]# rpm -gl zlib
/usr/lib/libz.so.1
/usr/lib/libz.so.1.1.3
/usr/share/doc/zlib-1.1.3
/usr/share/doc/zlib-1.1.3/README


2. gd, libpng, zlib 모두 있음..  
DSO 방식이 아님.


3.1. 기존의 /usr/local/php-4.1.1 을 없애고, 새로이..
mv /usr/local/php-4.1.1   /usr/local/php-4.1.1____old

tar zxvf  php4.1.1...  (휘파람님의 도움으로..)

  
3. 재설정(?)

3.1 아파치 (1)
[14:17:20 Mon Dec 22 [root@myCom ~]# cd /usr/local/apache_1.3.22/
[14:17:47 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# ./configure

[14:17:47 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# make

[14:17:47 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# make install


3.2 php

[14:17:58 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# cd ../php-4.1.1/
[14:18:22 Mon Dec 22 [root@myCom /usr/local/php-4.1.1]# ./configure   --with-apache=/usr/local/apache_1.3.22   --with-mysql=/usr/local/mysql   --with-config-file-path=/usr/local/apache_1.3.22/conf   --with-exec-dir=/usr/local/apache_1.3.22/bin   --with-enable-track-vars=yes   --enable-ftp   --enable-sockets   --enable-sysvsem=yes   --enable-sysvshm=yes   --enable-shmop   --enable-gd-native-ttf   --enable-mailparse  --with-gd=/usr/local/gd-2.0.1   --with-zlib-dir=/usr/lib --with-zlib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib  


[14:19:37 Mon Dec 22 [root@myCom /usr/local/php-4.1.1] make; make install



3.3 아파치(2)

[14:19:37 Mon Dec 22 [root@myCom /usr/local/php-4.1.1]# cd ../apache_1.3.22/

   apache : ./apachectl stop
[14:19:40 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22]# ./configure --prefix=/usr/local/apache_1.3.22/ --activate-module=src/modules/php4/libphp4.a

   apache : make install
[14:20:06 Mon Dec 22 [root@myCom /usr/local/apache_1.3.22/bin]# ./apachectl start


++++++++++++++++
[휘파람]
rm -fr php4.1.1
tar zxvf php4.1.1....
./configure...

예전 php 버젼에서 gd 를 컴파일 하면 이전에 컴파일된 찌꺼기가 남아 있는것 같더라구요..
그래서 저렇게 하고 다시 깨끗한 상태에서 컴파일 하면 잘 되었던 기억이 납니다..

아파치 make install 하기 직전에 ./apachectl stop 하시는것도 잊지 마시구요.. 그럼..
++++++++++++++++

Posted by 알 수 없는 사용자
,
용량체크는 php코딩으로도 알 수 있습니다.

mb.php라는 파일을 만드시고,아래와 같이 적어주시고 저장하세요.

<?php
$du=`du -sk ./`;
$total=20; //-- 계정용량에 맞게 수정하세요..단위는 MB..
$du=$du/1000;
$used=$total-$du;
$free=$du;

echo "전체 용량 : $total MB";
echo "사용량 : ${free} MB";
echo "남은량 : ${used} MB";
?>

글런후 ftp로 루트디렉토리 안에다가 올리세요.

  http:/자신의도메인/mb.php


로 접속하시면 바로 알 수 있습니다.
Posted by 알 수 없는 사용자
,
자신의 db, 자신의 db_id, 자신의 비밀번호,
자신의 할당받은 db 용량을 수정하여 주시고 사용하시면 됩니다.

------------------------------------------------------------------------------------
<?
// 데이타 베이스 관련 설정
////////////////////////////////////////
$db['database'] = "님의데이터베이스";
$db['user']     = "님의아이디";
$db['pw']       = "계정비밀번호";
$first_mb                = "님의 초기설정 db 용량";
////////////////////////////////////////
/*
//예입니다. 아래와 같이 위를 수정해 주세요...
$db['database'] = "db_kumasim";
$db['user']     = "db_kumasim";
$db['pw']       = "kumasim_pass";
$first_mb                = 5;
*/
$db['host']     = "localhost";
$db['port']     = "3306";

// 기본값
$k      = 1024;         // 킬로
$m      = $k * 1024;    // 메가
$g      = $m * 1024;    // 기가
$t    = $g * 1024;    // 테라

// 나의 디비 용량
$mySize = $first_mb * $m;
?>

<html>
<body>

<table border=0 bgcolor=#8888cc cellpadding=2 cellspacing=1>
<tr height=22 bgcolor=#ccccee align=center>
    <td>테이블명</td>
    <td>테이블 설명</td>
    <td>테이블타입</td>
    <td>저장형식</td>
    <td>용량</td>
    <td>레코드수</td>
</tr>
<?
$dbCon = mysql_connect($db['host'], $db['user'], $db['pw']);
mysql_select_db($db["database"], $dbCon);

$result = mysql_query("SHOW TABLE STATUS", $dbCon);

while ( $row = mysql_fetch_assoc($result) )
{
        $size = $row['Data_length'] + $row['Index_length'];
    $sum += $size;

    $sizeShow = sizeCal( $size );

        echo "
        <tr bgcolor=#ffffff>
            <td>$row[Name]</td>
            <td>$row[Comment]</td>
            <td>$row[Type]</td>
            <td>$row[Row_format]</td>
            <td align=right>$sizeShow  </td>
            <td align=right> $row[Rows] </td>
        </tr>
    ";
}
$r_mySize = sizeCal( $mySize );
$r_sum    = sizeCal( $sum );
$rt       = sizeCal( $mySize - $sum );

echo "<tr bgcolor=#dddddd><td colspan=6 align=center> $r_mySize - $r_sum = $rt </td></tr>n";

function sizeCal( $size )
{
    global $m, $k;
    if ( $size < 0 ) { $t = 0; $size = abs($size); } else $t = 1;
    if ( $size >= $GLOBALS['t'] )
    {
        $size = intval( $size / $GLOBALS['t'] ) . " TB";
    }
        elseif ( $size >= $GLOBALS['g'] )
        {
                $szie = intval( $size / $GLOBALS['g'] ) . " GB";
        }
        elseif ( $size >= $m )
        {
                $size = intval( $size / $m ) . " MB";
        }
        elseif ( $size >= $k )
        {
                $size = intval( $size / $k ) . " KB";
        }
        else
        {
                $size .= " B";
        }
    
    $size = ( $t ) ? "$size":"- $size";

    return $size;
}
?>
</table>

</body>
</html>
Posted by 알 수 없는 사용자
,
너의 뒤에서 항상 널 바라보지만
넌 내가 뒤에 있는 것조차 알지 못하는
조용한 그림자 같은 존재가 되고 싶어.
너가 세상의 힘겨움에 시달려 지쳤을 때
메마른 가슴을 촉촉히 적셔주는 비처럼
답답한 마음을 시원하게 해주는
바람처럼 그런 존재가 되고 싶어
외로워 쳐다보면 항상 그 곳에서 같은 모습으로
눈 마주쳐주는 별과 같은 존재가 되고 싶구..
어두컴컴한 바다의 등대처럼 너가
삶의 길목에서 길 잃고 방황할 때
작은 빛 하나 밝혀주는 존재가 되고 싶어
너의 모든 짐과 고통을 담아줄 수 있는
마음의 가방같은 존재가 되고 싶어
너가 힘들 때마다 부담없이 찾아오면
언제든 포근히 덮어줄 이불처럼
휴식같은 존재가 되고 싶어
어느 날 아무데도 갈 곳 없는 너만을 위해
남겨 놓은 의자처럼 언제나
마음을 비워둔 채 기다리는 존재가 되고 싶어.
그러다가 혹시라도 가끔씩 추억이 생각나면
들춰볼 수 있는 사진첩 같은 존재가 되고 싶어..


<marquee scrolldelay="1" scrollamount="130" behavior="slide"><font size=2 color=#7E7088>너의 뒤에서 항상 널 바라보지만</marquee><br>
<marquee scrolldelay="70" scrollamount="115" behavior="slide"><font size=2 color=#9B7AB3>넌 내가 뒤에 있는 것조차 알지 못하는</marquee><br>
<marquee scrolldelay="80" scrollamount="110" behavior="slide"><font size=2 color=#B594CD>조용한 그림자 같은 존재가 되고 싶어.</marquee><br>
<marquee scrolldelay="90" scrollamount="100" behavior="slide"><font size=2 color=#C9B7D6>너가 세상의 힘겨움에 시달려 지쳤을 때</marquee><br>
<marquee scrolldelay="100" scrollamount="95" behavior="slide"><font size=2 color=#AFCCCE>메마른 가슴을 촉촉히 적셔주는 비처럼</marquee><br>
<marquee scrolldelay="110" scrollamount="90" behavior="slide"><font size=2 color=#7BA0A4>답답한 마음을 시원하게 해주는</marquee><br>
<marquee scrolldelay="120" scrollamount="85" behavior="slide"><font size=2 color=#658387>바람처럼 그런 존재가 되고 싶어 </marquee><br>
<marquee scrolldelay="130" scrollamount="80" behavior="slide"><font size=2 color=#3E747B>외로워 쳐다보면 항상 그 곳에서 같은 모습으로 </marquee><br>
<marquee scrolldelay="140" scrollamount="75" behavior="slide"><font size=2 color=#862D2D>눈 마주쳐주는 별과 같은 존재가 되고 싶구.. </marquee><br>
<marquee scrolldelay="150" scrollamount="70" behavior="slide"><font size=2 color=#AC3939>어두컴컴한 바다의 등대처럼 너가</marquee><br>
<marquee scrolldelay="160" scrollamount="75" behavior="slide"><font size=2 color=#CC6666>삶의 길목에서 길 잃고 방황할 때</marquee><br>
<marquee scrolldelay="170" scrollamount="65" behavior="slide"><font size=2 color=#D88C8C>작은 빛 하나 밝혀주는 존재가 되고 싶어 </marquee><br>
<marquee scrolldelay="180" scrollamount="60" behavior="slide"><font size=2 color=#F2A6A6>너의  모든 짐과 고통을 담아줄 수 있는</marquee><br>
<marquee scrolldelay="190" scrollamount="55" behavior="slide"><font size=2 color=#E6D9B5>마음의 가방같은 존재가 되고 싶어</marquee><br>
<marquee scrolldelay="200" scrollamount="50" behavior="slide"><font size=2 color=#D1B975>너가 힘들 때마다 부담없이 찾아오면 </marquee><br>
<marquee scrolldelay="210" scrollamount="45" behavior="slide"><font size=2 color=#BF9F40>언제든 포근히 덮어줄 이불처럼</marquee><br>
<marquee scrolldelay="210" scrollamount="40" behavior="slide"><font size=2 color=#A48837>휴식같은 존재가 되고 싶어</marquee><br>
<marquee scrolldelay="210" scrollamount="35" behavior="slide"><font size=2 color=#7A4964>어느 날 아무데도 갈 곳 없는 너만을 위해</marquee><br>
<marquee scrolldelay="210" scrollamount="30" behavior="slide"><font size=2 color=#9F5F83>남겨 놓은 의자처럼 언제나 </marquee><br>
<marquee scrolldelay="210" scrollamount="25" behavior="slide"><font size=2 color=#CA619C>마음을 비워둔 채 기다리는 존재가 되고 싶어. </marquee><br>
<marquee scrolldelay="220" scrollamount="20" behavior="slide"><font size=2 color=#DFA1C4>그러다가 혹시라도 가끔씩 추억이 생각나면</marquee><br>
<marquee scrolldelay="220" scrollamount="15" behavior="slide"><font size=2 color=#F3ADD4>들춰볼 수 있는 사진첩 같은 존재가 되고 싶어.. </marquee><br><br>
  
Posted by 알 수 없는 사용자
,

미리보기 : http://oxtag.com/html/ex/tool_tip2.html


<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style>
v\:*{behavior:url(#default#VML);}
td{font-size:9pt}
</style>
<script language=javascript>
function tipshow(k){
var t=new Array();
t[0]="툴팁1의 내용";
t[1]="툴팁2의 내용";
t[2]="툴팁3의 내용";
txt.innerText=t[k];
tip.style.pixelTop=event.y + document.body.scrollTop- 50;//툴팁의 y위치
tip.style.pixelLeft=event.x + document.body.scrollLeft - 10;//툴팁의 x
//위치
//document.body.scrollTop 과 document.body.scrollLeft 는 문서가 스크롤 된 상태에
//서는 반드시 필요한 값입니다. 문서에 스크롤바가 나타나지 않는다면 두속성은 쓰지
//않아도 됩니다.
tip.style.visibility='visible';


}
function tiphide(){
tip.style.visibility='hidden';

}
</script>
</head>

<body>
<br><br><br><br>
<span onmouseover=tipshow(0) onmouseout=tiphide() style='cursor:hand'>툴팁1</span>
<br><br><br>
<span onmouseover=tipshow(1) onmouseout=tiphide() style='cursor:hand'>툴팁2</span>
<br><br><br>
<span onmouseover=tipshow(2) onmouseout=tiphide() style='cursor:hand'>툴팁3</span>


<!--
4개의 타원의 위치는 div 의 상단 왼쪽을 기준으로 정하는 위치입니다
타원들이 모두 div 내에 있으므로 타원들간의 위치는 고정되어있습니다
-->
<div id="tip" style="position:absolute;visibility:hidden;width:200;height:50;">

<v:oval fillcolor="#cc9999" style="position:absolute;top:0;left:50;z-index:1;width:150;height:40"> <!-- 네번째 타원형 툴팁이 출력되는 부분 (배경등의 컬러를 여기서 수정) -->
<v:textbox id=txt style="font-size:12px;font-family:verdana;"></v:textbox>
</v:oval>

<v:oval fillcolor="#cccc99" style="position:absolute;top:30;left:40;z-index:2;width:50;height:20"> <!-- 세번째 작은 타원형 (배경등의 컬러를 여기서 수정) -->
</v:oval>

<v:oval style="position:absolute;top:40;left:30;z-index:3;width:20;height:10"> <!-- 두번째 작은 타원형 (배경등의 컬러를 여기서 수정) -->
</v:oval>

<v:oval style="position:absolute;top:45;left:25;z-index:4;width:10;height:5"> <!-- 제일 작은 타원형 (배경등의 컬러를 여기서 수정) -->
</v:oval>

</div>

<br><br><br>
vml을 이용해서 타원형의 풍선도움말을 만들수있습니다<br><br>
물론 이미지를 써도 되지만 코드로만 이것을 해보고 싶은사람에게는 <br><br>
괞찬을 것 같아서리...<br><br>
코드는 소스 보기를 하셔서 보시기 바랍니다. <br><br>
단 익스플로러 5.0 이상 에서만 가능합니다<br><br>
물론 아래에서 툴팁의 내용뿐만아니라 풍선도움말의 배경색도 배열로 처리해서<br><br>
각각 다른색을 사용할수도 있습니다<br><br>
관심이 있으시다면 소스코드를 한번 복사해서 실행시켜보세요<br><br>
모양을 더 예쁘게 꾸미는것은 각자의 몫이라고 봅니다.

</body>
</html>

Posted by 알 수 없는 사용자
,
스타일 시트를 이요한 방법이구요. IE 5.x 이상에서만 나타납니다.

스타일 시트는 당연히 헤드 안에 넣는다는 것은 아시죠.

컬러는 홈 분위기에 맞게 수정해서 쓰세요.

예제는 좌측메뉴의 젤 밑에 있는 다이어리 / 프로필 클릭하구 위에 보이는

프로필에 마우스를 올려보세요. 그럼 점선이 나타나죠.

<style>
A:hover { border-bottom: dotted #666666 1px; text-decoration:none}
</style>
Posted by 알 수 없는 사용자
,
음악이 나오는 화면에서 음악을 듣기 싫어서 Esc 키를 누르거나 익스플로러의 중지 버튼을 누르면 애니메이션 GIF 같은 경우에도 멈춰버리잖아여.. 그런 분들을 위한 간단히 플레이하고 멈춤 버튼만 나오게 하는 기능입니다..

아래 내용이 소스랍니다..

<a href="javascript:document.embeds[0].play()"><font size=2>Play</font></a>
<a href="javascript:document.embeds[0].stop()"><font size=2>Stop</font></a>


위의 소스를 사용하고 싶은 html 문서에 붙여넣기 하세요..
Play, Stop 이라는 글씨 대신에 그림이나 버튼을 써두 되겠죠?
이 기능은 자바스크립트 기능이거든요.

javascript:document.embeds[0].play()

이걸 풀어서 얘길 하면요..
"자바스크립트 명령을 쓰는데 현재 문서(document)의 embed 태그를 사용한 배경음악의 첫번째(embeds[0]를 play() 함수에 의해서 플레이 시켜라" 이거구요..

javascript:document.embeds[0].stop()

이걸 풀어서 얘길 하면..
"자바스크립트 명령을 쓰는데 현재 문서(document)의 embed 태그를 사용한 배경음악의 첫번째(embeds[0]를 Stop() 함수에 의해서 멈춰라" 라는 뜻입니다.. 쉽죠?



배경음악은 embed 태그로 써주셔야만 음악이 나옵니다..
버튼으로 사용하는 경우에 대한 소스는 아래에 있습니다..

<input type="button" name="play" onclick="javascript:document.embeds[0].play()" value="play">
<input type="button" name="stop" onclick="javascript:document.embeds[0].stop()" value="stop">
Posted by 알 수 없는 사용자
,

제가 사용하고 있는 함수를 올려드리겠음돠..

음..첫번째 답변이자 자료인듯 한데..ㅡ.ㅡ? 제가 예전에 만들어서 지금도 유용하게 사용하고 있는 소스입니다..

음..이미지나 일반 파일도 구분없이 같이 올릴수 있으니 참조해서 사용하셔두 되구

그대로 사용하셔도 될겁니다.


보기 페이지에서는 이미지랑 일반 자료는 따로 처리됩니다.


간단한 주석들은 달아 놨구요.

그리고 그중에 의문점 등이 있으시면 글 남겨주시면 설명 드리겠습니다..

그럼..ㅡ.ㅡ;


------------------------- 기본 디비테이블 형태 ----------------------

CREATE TABLE contents_tbl (
  con_uid int(11) NOT NULL auto_increment,
  title varchar(100) NOT NULL default '',
  contents text,
  user_file varchar(100) default NULL,
  file_type char(1) default NULL,
  file_size int(11) default '0',
  reg_date date default NULL,
  PRIMARY KEY  (con_uid)
) TYPE=MyISAM COMMENT='컨텐츠정보 테이블';


------------------------ 함수부분 ---------------
#************************************************************************
#*   단일 Upload 파일 처리
#*   $POST_FILES        업로드한 파일 정보를 갖고 있는 배열
#*   $up_Path                저장할 경로
#*   $up_Var                처리할 변수명
#************************************************************************
function UpFile_Process($POST_FILES, $up_Path, $up_Var) {

 $file_size = $POST_FILES[$up_Var]["size"];
 if($file_size < 1) {
  Error("선택된 파일이 없거나 0Byte 이하의 파일입니다.\\n\\n확인후 다시 시도해 주세요.");
  return false;
 }

 $file_name = $POST_FILES[$up_Var]["name"];
 $tmp_file = explode(".", $file_name);
 $file_first = $tmp_file[0];
 $file_ext = strtolower($tmp_file[1]);

 if($file_ext == php3 || $file_ext == html || $file_ext == php || $file_ext == phtml || $file_ext == htm || $file_ext == pl || $file_ext == cgi) {
  Error("시스템 관련 파일들은 업로드 할수 없습니다.");
  return false;
 }
 if($file_ext == jpg || $file_ext == gif || $file_ext == bmp) $file_type = 'i';
 else $file_type = 'f';
 $file_name = ereg_replace(" ", "_", $file_name);
 $file_first = ereg_replace(" ", "_", $file_first);
 $tmp_file_name = $POST_FILES[$up_Var]["tmp_name"];

  // 업로드 폴더에 동일한 파일명이 있으면 파일이름을 바꿔서 올려줍니다.
  $i = 0;
 while (file_exists("$up_Path/$file_name")) {
  $i ++;
  $file_name = $file_first.$i.".".$file_ext;
 }

 $rRes = move_uploaded_file($tmp_file_name, $up_Path ."/". $file_name);
 @chmod($up_Path ."/". $file_name , 0777);

 $file_info[0] = $file_name; // 파일명을 반환합니다
 $file_info[1] = $file_size; // 파일사이즈를 반환합니다
 $file_info[2] = $file_type; // 파일타입을 반환합니다(파일타입은 이미지는 i 일반 파일은 f로 반환합니다. 여기는 다른걸로 변형도 가는하겠죠..*^^*
 // 예를 들면 swf파일은 s로 표현한다던지 해서 다르게 처리 가능할것입니다.
 return $file_info;
}


#************************************************************************
#*    파일삭제 function
#************************************************************************
function Del_File($up_Path, $up_Var)    {
 if(file_exists("$up_Path.$up_Var")) @unlink($up_Path.$up_Var);
}


#************************************************************************
#*    error display function
#*    에러 메세지를 ($msg)변수로 입력받아 에러메세지 출력후 현재페이지를
#*    뒤로 되돌리는 함수입니다.
#************************************************************************

  function Error($msg){
      echo("
      <script language='javascript'>
      <!--
          alert('$msg');
          history.back();
      //-->
      </script>
      ");
      exit();
  }
--------------------- 파일 업로드 부분 (html) ----------------------
이부분은 파일 내용을 저장할 파일입니다.

<form name='frm' method='post' action='업로드 및 디비 처리할 파일명' enctype='multipart/form-data'>
    제목 <input type='text' name='title' size='20'>
    내용 <textarea name='contents' rows='10' cols='10'></textarea>
    <input type='file' name='user_file' value='<?=$user_file;?>' class='input' size='30'>
</form>

<input type='submit' value='전송하기'>


-------------------- 파일 보이는 부분 처리 파일 ---------------------
<?
$sql = "select * from contents_tbl 이름 where con_uid=코드번호";
$result = mysql_query($sql);
$cnt = mysql_num_rows($result);
if($cnt > 0) {
  $row = mysql_fetch_object($result);
  $title = $row->title;
  $contents = nl2br($row->contents);
  $user_file = $row->user_file;
  $file_type = $row->file_type;
  $file_size = $row->file_size;
  $reg_date = $row->reg_date;
}
?>
<table>
  <tr>
    <td>제목</td>
    <td><?=$title;?></td>
  </tr>
  <tr>
    <td>내용</td>
    <td><?=$contents;?></td>
  </tr>
  <tr>
    <td>등록일</td>
    <td><?=$reg_date;?></td>
  </tr>
  <? if($user_file) { ?>
  <tr>
    <td> + 기존파일</td>
    <td>
    <?
    if($user_file) {
      if($file_type == 'i') {
        $photo_name = "이미지 저장경로/$user_file";
        $img_size = GetImageSize($photo_name); // 이미지일경우 이미지의 사이즈를 받아옵니다
        $img_width = $img_size[0]; // 이미지의 폭을 받아옵니다
        $img_height = $img_size[1]; // 이미지의 높이를 받아옵니다.
       
        // 이미지 폭을 200으로 제한한 경우입니다 이와 다른 이미지 사이즈일경우는 값을 주면 됩니다.
        if($img_width > 200) $img_src = "<img src='이미지경로/".$user_file."' border='0' width='200'>";
        else $img_src = "<img src='이미지경로/".$user_file."' border='0'>";
        echo"$img_src";
      } elseif($file_type == 'f') { // 파일일 경우
        echo"<a href='파일링크경로/$user_file' target='_blank'>$user_file</a>";
      }
    }
    ?>
    </td>
  </tr>
  <?
  }
  ?>
</table>


------------------------ 디비 처리 파일 ------------------------------------------
<?
// 디비 입력 부분입니다.
if($flag == "input") {
 # 등록일 생성
 $reg_date=date("Y-m-d");
  // 파일이 업되었을 경우 처리하는 부분입니다. 결과값은 $user_files 라는 배열에 받아옵니다. 파일저장경로는 뒤에 /까지 들어가야 합니다.
  if($user_file) $user_files = UpFile_Process($HTTP_POST_FILES, '파일저장경로', 'user_file');

  $sql = "insert into contents_tbl (title, contents, ";
  if($user_file) $sql .= "user_file, file_type, file_size";
  $sql .= " reg_date)
          values ('$title', '$contents', ";
  if($user_file) $sql .= "'$user_files[0]', '$user_files[2]', $user_files[1]";
  $sql .= "'$reg_date')";

  $location_url = '되돌아갈 경로';
}
// 디비 수정부분입니다.
elseif($flag == "update") {
  // 새로 파일 등록이 될경우
  if($user_file) {
    // 예전 파일은 지웁니다
    if($old_file) Del_File('파일경로',$old_file);
    $user_files = UpFile_Process($HTTP_POST_FILES, '파일경로', 'user_file');
  }
  $sql = "update contents_tbl set
          title='$title', contents='$contents'
          ";
  if($user_file) {
    # old_file delete
    $sql .= ",user_file='$user_files[0]', file_type='$user_files[2]', file_size=$user_files[1]";
  }
  $sql .= " where con_uid=$con_uid";
#  echo"$sql";
#  exit;
  // 되돌아갈 파일 경로(보기 페이지)
  $location_url = 'content_frm.php?flag=update&con_uid='.$con_uid;
}
// 삭제시
elseif($flag == "delete") {

  $sql2 = "select * from contents_tbl where con_uid=$con_uid";
  $result2 = mysql_query($sql2);
  $total2 = mysql_num_rows($result2);
  if($total2 > 0) {
    $row2 = mysql_fetch_object($result2);
    // 파일이 있으면 삭제합니다
    if($row2->user_file) Del_File('파일 경로', $row2->user_file);
  }
  $sql = "delete from contents_tbl where con_uid=$con_uid";
  // 되돌아갈 경로
  $location_url = 'content_code.php';

}
#echo"$sql";
#exit;
// 디비 처리
$result = mysql_query($sql);
// 이상없이 처리되었으면 지정된 경로로 돌아갑니다
if($result) {
  Ok_msg('이상없이 처리되었습니다.',$location_url);
}
elseif(!$result) {
  Error('처리중 오류가 발생했습니다');
}



Posted by 알 수 없는 사용자
,

<?
/**
# Auth : shkim
# Email : isunnyk@empal.com, idxzone@naver.com
# Start Date : 2003.09
# Last Date : 2004.02.09.Mon
# Description : Dir..

### 특이사항 한가지..
    fileNUMofDIR( $dir ...) 에서... $dir 의 권한이 700 이어도 읽혀진다..  신기하다.. dir()이라는 함수자체가 그런가?  --aa


####### 사용법 #######
    include 'class.sh_dir_cls.inc';
    $cls_D = new Xena_Dir();
    $dir = $cls_D->CurDir;

    $t = $cls_D->fileNUMofDIR( $dir, $opt='num_dir');
    echo '<br>서브 디렉토리 갯수 : ' . $t[xNo_sub_dir];
    echo '<br>서브 파일 갯수 : ' . $t[xNo_sub_file];
    echo '<br>서브 all 갯수 : ' . $t[xNo_sub_all];
    echo '<br>목록들. : ' . $t[zz_OutPut];
    print_r($t); echo '<hr>';

#####
    $name_of_fileDir = 'class';
    $x = $cls_D->xena2_find_fileName($dir, $opt, $name_of_fileDir);
    if( $x < 0 ){
        echo $cls_D->ErrorMsg;
    }else{
        if( is_array($x) ){
            echo "<hr>찾는 단어 : " . $name_of_fileDir . '<br>';
            echo '찾은 갯수 : '. $x[find_No] . '<br>';
            print_r( $x[find_Str] ) ;
        }
    }
####################
**/



class Xena_Dir{
    var $viewDirSubFile_Lists_Sep = "<br>\n";


    var $CurDir;  //현재 디렉토리. 절대경로
    var $ErrorMsg;


    /******* Basic *********************/
    function Xena_Dir($d=''){
        if( ! trim($d)){
            $d = '.'; //현재 디렉토리
        }

        $this->CurDir = realpath($d);  //절대 경로로 바꾸어서.
        if( !  is_dir( $this->CurDir) ){
            $this->ErrorMsg = '[Error] : 디렉토리가 아니거나, 존재하지 않는 디렉토리입니다.';
            return false;
        }

        return true;
    }


   
    function fileNUMofDIR( $dir, $opt='', $viewType=''){
        //이 함수에서 굳이 $dir 를 주는이유는... 이 함수가 재귀함수이기 때문이다.

        //$opt : 파일의 갯수만 리턴할 것인지, 아지면 서브디렉토리의 갯수도 포함할 것인지.
        //$opt : 'num_file', 'num_all' , 'num_dir'

        switch($opt){
            case 'num_all':
            case 'num_file':
            case 'num_dir':
                break;
            default :
                $opt = 'num_all';
                break;
        }//end switch


        $dir = realpath($dir);  //절대 경로로 바꾸어서.
        if( ! is_dir($dir) ){
            $this->ErrorMsg = "<p>[Error]" . " File: " . __FILE__ . " on line: " . __LINE__ . '<br>';
            return  false;
        }

        $nl = $this->viewDirSubFile_Lists_Sep; //개행..br


        #echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<b>' . $dir. '/ </b> 디렉토리]' . '<p>';
        $no_all = 0;          $no_file = 0;         $no_dir = 0;
        $uuuu = '';
       

        unset($View_all);
        unset($View_file);
        unset($View_dir);
        $d = dir($dir);   //object...
        while( $entry = $d->read() ){
            if( $entry != '.' && $entry != '..' ){ //자기자신, parent..
                $no_all++;  //현재위치에서의...전체 : 파일+디렉

                $dir2 = $dir. '/'. $entry;
                if( ! is_dir($dir2) ){
                    $no_file++; //현재위치에서의... 파일의 갯수..

                    switch($opt){
                        case 'num_all':
                            #echo $dir. '/'. $entry. $nl;
                            $View_all .=  $dir. '/'. $entry. $nl;
                            break;
                        case 'num_dir':
                            break;
                        case 'num_file':
                            #echo $dir. '/'. $entry. $nl;
                            $View_file .= $dir. '/'. $entry. $nl;
                            break;
                    }//end switch

                   
                }else{
                    $no_dir++;  //현재위치에서의...

                    $z = $this->fileNUMofDIR($dir2, $opt , $viewType);
                    $no_all += $z[xNo_sub_all];
                    $no_file += $z[xNo_sub_file];
                    $no_dir += $z[xNo_sub_dir];

                    $uuuu = $uuuu . $z[zz_OutPut];
               

                    switch($opt){
                        case 'num_all':
                            #echo $dir. '/'. $entry. '/'.  $nl;
                            $View_all .=  $dir. '/'. $entry. '/'.  $nl;
                            break;
                        case 'num_dir':
                            #echo $dir. '/'. $entry. '/'.  $nl;
                            $View_dir .= $dir. '/'. $entry. '/'.  $nl;
                            break;
                        case 'num_file':
                            break;
                    }//end switch
                }
            }
        }//while


        #####@@@@@@@@@@@#####
        switch($opt){
            case 'num_all':
                $my_out_put_TT = $View_all;
                break;
            case 'num_file':
                $my_out_put_TT = $View_file;
                break;
            case 'num_dir':
                $my_out_put_TT = $View_dir;
                break;
        }//switch
        if( ! strcmp($viewType, 'view_p') ){
            #echo $my_out_put_TT ;
        }

        $xx = $my_out_put_TT;
        $outPut =  $xx.  $uuuu;
        #####@@@@@@@@@@@#####

        return array('xNo_sub_all'=>$no_all, 'xNo_sub_file'=>$no_file, 'xNo_sub_dir'=>$no_dir, 'zz_OutPut'=>$outPut);
    }//end function fileNUMofDIR
    /******* Basic *********************/



    /******* appended *********************/
    function get_Permission($dir){
        //return : 755, 644
        $file_dir = $dir;

        $f = $file_dir;
        if( ! $f ){
            return false;
        }
        if( ! file_exists($f)){
            echo "<br>[$f]는 존재하지 않습니다.<br>";
            return false;
        }
        $n = fileperms($f);
        $octal = sprintf("%o", $n);  ## 8진수로
            //$octal = base_convert($n, 10, 8); ## 8진수로
            //$octal = decoct($n);  ## 8진수로
        $perm = substr($octal, -3);  ## 755, 644

        return $perm;
    }


    function xena2_find_fileName($dir, $opt, $name_of_fileDir){
        $name_of_fileDir = trim($name_of_fileDir);
        if( ! $name_of_fileDir ){
            $this->ErrorMsg = '<p>[Error] : 찾고자하는 파일명/디렉토리명을 입력하시오.';
            return -1;
        }

        $tmpAry = $this->fileNUMofDIR( $dir, $opt);
        if( $tmpAry[xNo_sub_all] <= 0 ){
            return 0;  //발견하지 못함 . 에러는 아님
        }else{
            $d = realpath($dir);

            $find_No = 0;
            $find_Ary = array();

            $cprMSG = $tmpAry[zz_OutPut];
                $tmp2 = explode( $this->viewDirSubFile_Lists_Sep  , $cprMSG);
                $cnt = count($tmp2);
                for($i=0; $i<$cnt; $i++){
                    $oneLine = $tmp2[$i];
                    $oneLine = ereg_replace("^($d)", '', $oneLine); //find 명령어는 주어진 디렉토리의 하위를 검색하므로.
                    if( $oneLine ){
                        if( ereg("($name_of_fileDir)", $oneLine ) ){ //찾고자 하는 단어가 발견되는가?
                            $find_No++;
                            $find_Ary[] = $tmp2[$i];
                        }
                    }
                    #echo $oneLine . '<br>';
                }//for

                #echo '<hr>$find_No==' . $find_No;
                #print_r($find_Ary);

            if( $find_No == 0 ){
                return 0;  //발견하지 못함 . 에러는 아님
            }else{
                return array('find_No'=>$find_No, 'find_Str'=>$find_Ary);
            }

        }
    }
    /******* appended *********************/

}//end class

?>

Posted by 알 수 없는 사용자
,

########################################################################

<?
    include '../include/sun_define.inc';  //PROF_DATA_2_DIR


    include_once "../include/function__perm.inc";
   
    $dir = PROF_SESS_DIR; //session 이 등록될 디렉토리임.
        $perm = get_Permission($dir);
        if( $perm == 777 || $perm == 707 || $perm == 757 ){
            session_save_path($dir);
            session_cache_limiter('nocache, must_revalidate');
        }else{
            echo "<p>세션 디렉토리 chmod 를 변경하시오.  ".
                    "<br>$dir  : 현재는 $perm ";
            exit;
        }

        /**
        session_start();
        $gl_sessId = session_id();
        $file = $dir. '/'. 'sess_'. $gl_sessId;
        chmod($file, 0644);
        **/


    #echo $dir. "<hr>";
    #echo $file;
 

    #echo '$gl_sessId='. $gl_sessId. '<br><p>';

?>

########################################################################

<?


/**
        $perm = $this->get_Permission();
        if( $perm == 777 || $perm == 707 || $perm == 757 ){
        }else{
            $msg = '<b>'. $this->UP_DIR. '</b> - Permission 을 조정하시오. 현재의 퍼미션은 '. $perm . '입니다.';
            $this->Error($msg);
            return false;
        }


**/

function get_Permission($file_dir){
    //return : 755, 644
    $f = $file_dir;
    if( ! $f ){
        return false;
    }
    if( ! file_exists($f)){
        echo "<br>[$f]는 존재하지 않습니다.<br>";
        exit;
    }
    $n = fileperms($f);
    $octal = sprintf("%o", $n);  ## 8진수로
        //$octal = base_convert($n, 10, 8); ## 8진수로
        //$octal = decoct($n);  ## 8진수로
    $perm = substr($octal, -3);  ## 755, 644

    return $perm;
}

?>

########################################################################

Posted by 알 수 없는 사용자
,

<?

//****************************************************************************//
// Author       : shkim  ( isunnyk@empal.com , idxzone@naver.com )
// StartDate    : 2004.01.15.Thur
// LastUpdate :
//****************************************************************************//

########################################################
function make_csvFile($str, $saveFileName=""){
    //표준출력을 엑셀파일로 저장하기..
        /**
        //사용법
        $str = "HaHAhadskjfsk ";
        $t = make_csvFile($str, $saveFileName="");
        if( ! $t ){
            echo "<p>실패";
        }else{
            #echo "<p>성공적";
        }
        ***/

    $fileN = $saveFileName;
    if( ! $fileN ){
        $date = date("Ymd");
        $fileN = "tmp_$date.xls";
    }
    if( ! $str ){
        return false;
    }else{
        //표준출력을 엑셀파일로 저장하기..
        header( "Content-type: application/vnd.ms-excel" );
        header( "Content-Disposition: attachment; filename=${fileN}" );
        header( "Content-Description: PHP4 Generated Data" );

        echo $str;
        return true;
    }
}

########################################################
function makeCSV_DBTable_Col_Values($dbcon, $table, $where){
    //주의사항:  게시판의 경우...코멘트의 경우.... 개행이 존재한다. 이런 경우는 어떻게 할것인가?

    if( ! $table || ! $dbcon ){
        echo "[ERROR] 테이블과 connection 을 지정하시오.";
        exit;
        return false;
    }

    $SQL = "SELECT *  FROM $table  $where";
    $sz = mysql_query($SQL, $dbcon);
    if( ! $sz ){
        $error = mysql_error($dbcon);
        $errno = mysql_errno($dbcon);
        echo "[ERROR] : $errno : $error";
        exit;
        return false;
    }else{
        $sep_tab = "\t";
        $sep_nl = "\n";

        $STR_csv = "";

        //#### 필드명(칼럼명) 추출하기
        $field_Num = mysql_num_fields($sz);

        $fieldNameAry = array();
        for($i=0; $i<$field_Num; $i++){
            $fN_01 = mysql_field_name($sz, $i);
            #echo $fN_01 . $sep_tab;
            $STR_csv =  $STR_csv . $fN_01 . $sep_tab;

            $fieldNameAry[] = $fN_01;
        }//for
        #echo $sep_nl;
        $STR_csv =  $STR_csv . $sep_nl;

        //#### 필드명(칼럼명) 추출하기

        while($rows = mysql_fetch_array($sz)){
            for( $j=0; $j<$field_Num; $j++){
                $val = $fieldNameAry[$j];

                $tmp_name = $$val = $rows[$val];        //$$val ........... 칼럼명
                #echo "$tmp_name=". $rows[$val] .  $sep_tab;
                $STR_csv =  $STR_csv . $rows[$val] .  $sep_tab;
            }//for............. ex> $mem = $rows[mem]; ....
            #echo $sep_nl;
            $STR_csv =  $STR_csv . $sep_nl;
        }//while

        #echo  $STR_csv;
        return $STR_csv;
        return true;
    }
}
########################################################

function makeCSV_DBTable_Col_Values_Comment($dbcon, $table, $where){
    //주의사항:  게시판의 경우...코멘트의 경우.... 개행이 존재한다. 이런 경우는 어떻게 할것인가?

    if( ! $table || ! $dbcon ){
        echo "[ERROR] 테이블과 connection 을 지정하시오.";
        exit;
        return false;
    }

    $SQL = "SELECT *  FROM $table  $where";
    $sz = mysql_query($SQL, $dbcon);
    if( ! $sz ){
        $error = mysql_error($dbcon);
        $errno = mysql_errno($dbcon);
        echo "[ERROR] : $errno : $error";
        exit;
        return false;
    }else{

        $STR_csv = "";

        //#### 필드명(칼럼명) 추출하기
        $field_Num = mysql_num_fields($sz);

        $fieldNameAry = array();
        for($i=0; $i<$field_Num; $i++){
            $fN_01 = mysql_field_name($sz, $i);
            $STR_csv =  $STR_csv
                . "<td>". $fN_01 . "</td>";

            $fieldNameAry[] = $fN_01;
        }//for

        $STR_csv_TITLE =  "<tr>". $STR_csv . "</tr>";
        //#### 필드명(칼럼명) 추출하기


$beauty_gd = "\n";

       
        unset($STR_csv_TR);
        while($rows = mysql_fetch_array($sz)){
            unset($STR_csv); //아~주 중요.
            for( $j=0; $j<$field_Num; $j++){
                $val = $fieldNameAry[$j];

                $tmp_name = $$val = $rows[$val];        //$$val ........... 칼럼명
                $STR_csv =  $STR_csv
                        . "<td>".  $rows[$val] .  "</td>";
            }//for............. ex> $mem = $rows[mem]; ....
            ##$STR_csv_TR .=  "<tr>". $STR_csv . "</tr>" ;
            $STR_csv_TR .=  "<tr>". $STR_csv . "</tr>" . $beauty_gd;
        }//while

        $STR_csv_BODY = $STR_csv_TR;

        unset($STR_csv);
        $STR_csv = $STR_csv_TITLE . $STR_csv_BODY;


        #$STR_csv = "<table border=1>". $STR_csv . "</table>";
        $STR_csv = "<table border=1>". $beauty_gd. $STR_csv .  "</table>". $beauty_gd;
       
        #echo  $STR_csv;
        return $STR_csv;

        return true;
    }
}

?>


<?
######## 주의사항.............. make_csvFile() 이전에 어떤 표준출력도 있으면 안된다.


    include_once "make_xls_csv.inc";

    include_once "dbcon.inc";
    $dbcon = COM_mysqlConnect( & $dbconn );        //Very Important

    if( ! $table ){
        $table = "M_Members";
    }

$csv_sql = makeCSV_DBTable_Col_Values_Comment($dbcon, $table, $where);
#$csv_sql = makeCSV_DBTable_Col_Values($dbcon, $table, $where);
if( $csv_sql ){
    $str = $csv_sql;
    $saveFileName = "tmp_001_not.xls";
    $t = make_csvFile($str, $saveFileName);
    if( ! $t ){
        echo "<p>엑셀파일로 저장하기 실패";
    }else{
        #echo "<p>성공적";
    }
}else{
    echo "<p>결과물이 없으므로, 엑셀파일로 저장하지 않습니다.";
}


?>

'인터넷관련' 카테고리의 다른 글

음악 플레이 멈춤 기능  (0) 2008.01.18
파일업로드 삭제 클래스  (0) 2008.01.18
디렉토리..class.sh_dir_cls.inc  (0) 2008.01.18
session_save_path() 2  (0) 2008.01.18
get_magic_quotes_gpc()  (0) 2008.01.18
Error Page Code  (0) 2008.01.18
호스팅 받는 업체들 용량체크하는법  (0) 2008.01.18
mysql query 관련 class  (0) 2008.01.18
Posted by 알 수 없는 사용자
,

if ( !get_magic_quotes_gpc() ) {
 #$comment = stripslashes($comment);
 #$subject = stripslashes($subject);
} else {
 $comment = stripslashes($comment);
 $subject = stripslashes($subject);
}


if ( ! get_magic_quotes_gpc() ) {
 $comment = addslashes($comment);
 $subject = addslashes($subject);
} else {
}






================================

http://man.phpschool.com/manual/en/function.get-magic-quotes-gpc.php



<?php
if (get_magic_quotes_gpc
()) {
   function
maybeaddslashes(&$inthing
) { }
   function
maybestripslashes(&$inthing
) {
       if (
is_array($inthing
)) {
           foreach (
$inthing as $element
) {
              
$element = stripslashes($element
);
           }
       } else {
          
$inthing = stripslashes($inthing
);
       }
   }
} else {
   function
maybeaddslashes(&$inthing
) {
       if (
is_array($inthing
)) {
           foreach (
$inthing as $element
) {
              
$element = addslashes($element
);
           }
       } else {
          
$inthing = addslashes($inthing
);
       }
   }
   function
maybestripslashes(&$inthing
) {}
}
?>


'인터넷관련' 카테고리의 다른 글

파일업로드 삭제 클래스  (0) 2008.01.18
디렉토리..class.sh_dir_cls.inc  (0) 2008.01.18
session_save_path() 2  (0) 2008.01.18
table_sql 을 엑셀파일로 다운받기.  (0) 2008.01.18
Error Page Code  (0) 2008.01.18
호스팅 받는 업체들 용량체크하는법  (0) 2008.01.18
mysql query 관련 class  (0) 2008.01.18
파일네임 금지  (0) 2008.01.18
Posted by 알 수 없는 사용자
,