[php 또는 javascript] 달력 소스

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

아래 소개하고 있는 소스 코드는 스크립트 언어 PHP 또는 자바스크립트를 이용해 달력을 출력하는 비교적 간단한 웹프로그램입니다. 두가지 소스중 하나를 실행 시키면 아래와 같은 이미지 처럼 출력이 됩니다. 달력을 만들기 위해서는 그 달의 첫 날짜와 마지막 날짜를 계산해야 하며 요일에 따라 글자의 색을 변화 시켜 줘야 합니다. 이해를 돕기 위해 되도록 소스 코드를 단순화 시켰으므로 코드를 차근 차근 살펴보면 이해가 되리라 생각됩니다. 달력이 투박해 보인다면 좀더 세련되게 업그레이드 해보세요.^^

사용자 삽입 이미지


 

 

[PHP로 달력 만들기 소스 코드]

<?php
function calendar(){
    $year date("Y");
    $month date("n");
    $day date("d");
    $day_max date("t",mktime(0,0,0,$month,1,$year));
    $week_start date("w",mktime(0,0,0,$month,1,$year));
    $0;
    $0;
    $html "<div class='calendar_box'><div class='calendar_title B'>".sprintf("%d-%02d-%02d",$year,$month,$day)."</div>";
    while ($j<$day_max){
        if ($i<$week_start) {
            $html .= "<div class='calendar_text'>·</div>";
        else {
            if ($i%7==0$font_color " RED";
            else if ($i%7==6$font_color " BLUE";
            else $font_color "";
            if ($day == ($j+1)) $font_weight " B"else $font_weight "";
            $html .= "<div class='calendar_text$font_color$font_weight'>" . ($j+1) . "</div>";
            $++;
        }
        $++;
    }
    while ($i%7!==0){
        $html .= "<div class='calendar_text'>·</div>";
        $++;
    }
    $html .= "<div class='calendar_tail'></div></div>";
    return $html;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
body {font-family: Verdana, Dotum; line-height:20px;}
.B {font-weight:bold}
.box {width:185px; text-align:centerborder:1px solid #dddddd}
.calendar_box {width:175px; padding:5px}
.calendar_text {width:25px; float:left; text-align:centerfont-size:12px}
.RED {color:red}
.BLUE {color:blue}
.calendar_title {margin:0px; text-align:centerfont-size:12px; background-color:#999999; color:#ffffff}
.calendar_tail {clear:both;}
</style>
<title>PHP로 달력 만들기</title>
</head>
<body>
<div class="box">
<?=calendar();?>
</div>
</body>
</html>


[자바스크립트로 달력 만들기 소스 코드]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>자바스크립트로 달력 만들기</title>
<style>
body {font-family: Verdana, Dotum; line-height:20px;}
.B {font-weight:bold}
.box {width:185px; text-align:centerborder:1px solid #dddddd}
.calendar_box {width:175px; padding:5px}
.calendar_text {width:25px; float:left; text-align:centerfont-size:12px}
.RED {color:red}
.BLUE {color:blue}
.calendar_title {margin:0px; text-align:centerfont-size:12px; background-color:#999999; color:#ffffff}
.calendar_tail {clear:both;}
</style>
<script>
function calendar(){
    var today = new Date();
    var year = today.getFullYear();
    var month = today.getMonth() + 1;
    var day = today.getDate();
    var week_start = new Date(year,month-1,1).getDay();
    var day_max = get_day_max(year,month-1);
    var i = 0;
    var j = 0;
    var html = "<div class='calendar_box'><div class='calendar_title B'>" + year + "-" + get_number_str(month) + "-" + get_number_str(day) + "</div>";
    while (j < day_max){
        if (i < week_start) {
            html += "<div class='calendar_text'>·</div>";
        else {
            if (i%7==0) font_color = " RED";
            else if (i%7==6) font_color = " BLUE";
            else font_color = "";
            if (day == (j+1)) font_weight = " B"else font_weight = "";
            html += "<div class='calendar_text" + font_color + font_weight + "'>" + (j+1) + "</div>";
            j ++;
        }
        i ++;
    }
    while (i%7!==0){
        html += "<div class='calendar_text'>·</div>";
        i ++;
    }
    html += "<div class='calendar_tail'></div></div>";
    return html;
}
function get_day_max(year,month){
    var i = 29, cday;
    while(i<32){
        cday = new Date(year,month,i);
        if (cday.getFullYear()!=year || cday.getMonth()!=month) break;
        i++;
    }
    return i-1;
}
function get_number_str(num){
    if (num<10) num = '0' + num;
    return num;
}
</script>
</head>
<body>
<div class="box">
<script>
document.write(calendar());
</script>
</div>
</body>
</html>


[출처] http://hompy.info/565

반응형

댓글()

php 페이지 내용중 일부만 캐릭터셋 변경하기

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

<? echo iconv ("euc-kr", "utf-8", "$text"); ?>

 

설명 : euc-kr 로 되어있는 $text 를 utf-8로 출력


반응형

댓글()

[php] 숫자 세자리 수마다 콤마(,) 찍어주기

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

$count = "250000";

$number = number_format("$count");

echo "$number";

 

결과값 : 250,000

 

반응형

댓글()

for 문을 이용해 변수(문자+숫자 형태)를 출력 (변수 두개)

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

[소스]

for ($a="1";$a<10;$a++) {

echo ${'name'.$a};

echo "<br>";

}

 

[결과]

$name1 변수의 내용이 출력되고 다음행에 $name2 변수의 내용이 출력되고... (생략)

끝으로 $name9 변수의 내용이 출력됩니다.


이것이 활용되는 때는..

$name1, name2.. 등의 변수가 많아서 for문을 이용할때 사용합니다.

아래와 같이 사용했을때는 되지 않습니다.

echo "$name$a";    // 잘못된 예

$name 값이 없으므로 결과는 아래와 같습니다.

1

2

3

...


반응형

댓글()

html 기본 풀다운 메뉴 만들기

반응형

<form name="run1" method="post" action="">
날짜를 선택해 봅니다.
 

<label>
  <select name="c_year" id="c_year">
    <option>2011</option>
    <option>2012</option>
  </select>
</label>
 

<label>
  <select name="c_month" id="c_month">
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    <option>10</option>
    <option>11</option>
    <option>12</option>
  </select>
</label>

 
<input type="submit" name="send" id="send" value="선택">

</form>

 

<? echo "당신은 $c_year 년 $c_month 월을 선택하셨습니다."; ?>

 

반응형

댓글()

php 숫자 끝의 두자리만 출력

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

$date = "20111229";

substr("$date", -2);
 

결과 : 29

 

반응형

댓글()

php로 꺾인선 그래프를 만들어보자

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

우선은 php의 이미지 함수를 이용해야 한당!!

그리고 리눅스에는 GD Library가 최신걸로 셋팅이 되어있어야 하구요!!

없으면 깔어셔야 합니다.

 

우선 test.html 에 이 소스를 붙이죠

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<img src="graph.php?0,0,0,0,0.5,2.2,7.1,20.9,42.3,26.9"  width="274" height="188" border="0">
</BODY>
</HTML>
이렇게 말입니다.

graph.php?0,0,0,0,0.5,2.2,7.1,20.9,42.3,26.9 --> 요거는 머냐구요?? 그래프를 그릴 좌표값입니다.

보시면 아시것지만 graph.php 이파일에  좌표값을 전달하는 것이지요

그리고 본격적으로 그래프를 그릴 소스파일을 만듭니다.

 

graph.php 파일에

 

<? 
  Header("Content-type : image/png"); 
  
  $query_string = urldecode(getenv("QUERY_STRING")); 
  $query_string = explode("," , $query_string); 
 
  for ($i=0; $i<10; $i++){
   if ($y_max < intval($query_string[$i])){
    $y_max = intval($query_string[$i]);
    }
  }
  
  $image = ImageCreate(274,188); 
  $white = ImageColorAllocate($image , 255,255,255); 
  $skin = ImageColorAllocate($image , 250,219,172); 
  $black = ImageColorAllocate($image , 0,0,0); 
  $dark_gray = ImageColorAllocate($image , 241,241,241); 
  
  ImageLine($image , 33,15,233,15, $black); 
  ImageLine($image , 33,15,33,165, $black); 
  ImageLine($image , 33,165,233,165, $black); 
  ImageLine($image , 233,15,233,165, $black);
  ImageLine($image , 25,20,25,170, $black); 
  ImageLine($image , 25,170,225,170, $black);
  
  ImageString($image , 2, 3, 4,"Man(%)",$black);
  ImageString($image , 2, 250, 174,"Avg",$black);

  //x축 안선
  for ($i=25; $i < 160; $i=$i+10){
  ImageLine($image , 33,$i,233,$i, $dark_gray); 
  }

  //x축 대칭
  for ($i=20; $i<171; $i=$i+10){
  ImageLine ($image,25,$i,33,$i-5,$black); 
  }
  
  // y축 안선
  for ($i=53; $i < 230; $i=$i+20){
  ImageLine($image , $i,15,$i,165, $dark_gray); 
  }
  
  // y축 대칭
  for ($i=25; $i<226; $i=$i+20){
   ImageLine ($image,$i,170,$i+10,165,$black); 
   }
  
  //x축 값
  $x_position =22;
  $x_value =0;
  for ($i=0; $i<=10; $i++){
 ImageString($image,2,$x_position,175,$x_value,$black);
 $x_position= $x_position + 20;
 $x_value = $x_value + 10;
  }
  
  //y축 값
  $y_position = 23;
  if ( $y_max <=  35){
   $y_value = 28;
  } else {
   $y_value = $y_max;
  } 
  
   $temp = intval($y_value/7);
   $y_value = $temp * 7 +7;
   $y_max = $y_value;
   $skip = $temp +1;
  
  for ($i=0; $i<=7; $i++) {
    ImageString($image,2,7,$y_position,$y_value,$black);
 $y_position=$y_position+20;
 $y_value = $y_value - $skip;
  }
  
 // 막대그래프 꺽은선 그래프
  $rectPosition =35;
  $linePosition =40;
  for ($i=0; $i<10; $i++) {
    $y_rectPosition = 145 * intval($query_string[$i])/$y_max;
 $y_rectPosition = 170-$y_rectPosition;
    imageFilledRectangle($image, $rectPosition ,$y_rectPosition,$rectPosition+10,167, $skin);
 imageFilledRectangle($image, $linePosition-2, $y_rectPosition-2, $linePosition+2, $y_rectPosition+2 ,$black);
 $rectPosition = $rectPosition +20;
 if ($i != 0){
 ImageLine($image ,$temp1,$temp2,$linePosition,$y_rectPosition, $black); 
 }
 $temp1 = $linePosition;
 $temp2 = $y_rectPosition;
 $linePosition = $linePosition +20;
  }
    
  ImagePNG($image); 
  ImageDestroy($image); 
 
?>
요렇게 말입니다. ㅎㅎㅎㅎ

 

[출처] 홀로서기 | 한아름 (http://blog.naver.com/sire81/60014014950)

반응형

댓글()

[제로보드] xe에서 이미지 삽입후 이미지 위에 노란색 박스 사라지게하는 법

프로그래밍/PHP|2015. 1. 27. 11:34
반응형
기존에 삽입된 이미지들을 보면
노란색 박스로 파일명이 나타나는 것을 볼 수 있습니다.

신경 많이 쓰이니깐 삭제하고 싶은데,

삭제가 안되시는 분들 많았을 껍니다.

삭제하는 방법을 알려드리겠습니다.

기존에 첨부했던 이미지도 전부 해당하는 사항입니다.

제로보드 폴더안에 하위로
modules/editor/components/images_link/image_link.class.php 파일안에
60번째라인 이후에 다음과 같은 소스가 있음을 확인할 수 있습니다.

            $attr_output = array();
            $attr_output = array("src="".$src.""");
            if($alt) {
                $attr_output[] = "alt="".$alt.""";
                $attr_output[] = "title="".$alt.""";
            }
            if($align) $attr_output[] = "align="".$align.""";


위 사항을 


            $attr_output = array();
            $attr_output = array("src="".$src.""");
            if($alt) {
                $attr_output[] = "alt="".$alt.""";
                $attr_output[] = "title=""";
            }
            if($align) $attr_output[] = "align="".$align.""";

와 같이 변경하시면 사라진 것을 확인하실 수 있습니다.

ps. 저 라인을 삭제할경우 박스가 남아있더군요.

허무하죠?

인생이 원래 그렇습니다. 하루 웬종일 하던게 -_-;
오늘 코드를 보니 10분만에 답을 찾아내더군요 ㄷㄷ;;

제로보드 잘 쓰세요.

[출처] 진주원룸 | 진주도깨비 (http://3x3.kr/292)


반응형

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

php 숫자 끝의 두자리만 출력  (0) 2015.01.27
php로 꺾인선 그래프를 만들어보자  (0) 2015.01.27
libpcap 를 이용한 프로그래밍  (0) 2015.01.27
php 남은 날짜 계산하기  (0) 2015.01.27
php 날짜함수 예문  (0) 2015.01.27

댓글()

html img 태그의 alt 옵션 줄바꿈

반응형

줄바꿈 하려는 곳에 &#13 을 넣어줍니다.

 

<img src="images/sysdocu.jpg" alt="늘원 홈페이지입니다.&#13방문을 환영합니다.">

 

반응형

'프로그래밍 > HTML & JavaScript' 카테고리의 다른 글

이미지 클릭시 팝업창 뜨게 하기  (0) 2015.01.27
html 기본 풀다운 메뉴 만들기  (0) 2015.01.27
iframe 옵션들  (0) 2015.01.27
[팝업] window.open 속성 사용 예제  (0) 2015.01.27
팝업창 닫기 태그  (0) 2015.01.27

댓글()

[shellscript] 어제, 내일 날짜 구하기

프로그래밍/BASH SHELL|2015. 1. 27. 11:33
반응형

yesterday=`date -d "-1 day" "+%Y%m%d"`

tomorrow=`date -d "+1 day" "+%Y%m%d"`


반응형

댓글()

iframe 옵션들

반응형

<iframe

src=" //연결될 주소 ex)http://www.naver.com

frameborder="" // 테두리 사용 여부 ex) 0:사용안함 1:사용

width="" // iframe 가로크기 ex) 100% / 1024px

height="" // iframe 세로크기 ex) 100% / 1024px

scrolling="" // 스크롤바 사용 여부 ex) yes / no / auto

align="" // iframe 내부 페이지 정렬 방식 ex) center / left / right

name=""  // iframe 이름 -> target 지정시 사용

id="" // iframe 의 id -> script 에서 사용

hspace="" // 기준되는 곳으로 부터 iframe 의 가로 위치

vspace="" //기준되는 곳ㅇ로 부터 iframe 의 세로 위치

marginwidth="" //가로 여백

marginheight="" //세로 여백

style="zoom:100%" // 원본 페이지 : 출력페이지 비율 조정

></iframe>

 

 

예제

<iframe src="http://www.naver.com" frameborder="0" width="100%" height="100%" scrolling="auto" align="center" name="iframe_test"></iframe>

 

그냥 네이버창 띄우기...

 

 

응용

<script>

 function set_iframe(){

    document.getElementById('iframe_test').src="http://www.bilco.co.kr";
}
 function reset_iframe(){

    document.getElementById('iframe_test').src="http://www.koreatm.co.kr";
}
</script>
<a onmouseover="set_iframe()" onmouseout="reset_iframe()">마우스 올려보세요</a>

 

<iframe src="http://www.naver.com" frameborder="1"width="100%" height="100%" scrolling="auto" align="center" Id="iframe_test" hspace="0" vspace="0"></iframe>

 

[출처] 無 | 키에르 (http://blog.naver.com/vfxx/100104431497)

반응형

댓글()