머리단과 바닥에 들어갈 화일을 작성하고 나서 본 화일에서 불러서 사용하면 된다.
main.php
<?php include("include/header.ph"); print_html("main_htm/top.htm"); echo("<br><br>본문 내용이 들어가는 곳입니다.<br>"); echo("내용은 별거 없습니다.<br>"); echo("프레임을 나누지 않고, 본문 내용을 사용하는 것입니다.<br>"); echo("본문내용을 서브 함수를 이용해서 만들면 됩니다.<br>"); echo("다음 작업을 위해 쉬운 내용을 아주 어렵게 했습니다.<br>"); echo("이내용을 잘 이해하면 여러면에서 도움이 될것입니다.<br>"); print_html("main_htm/bottom.htm"); ?> |
include/header.ph
<? /* 한라인 출력해주는 함수 */ function print_html($filename) { $fp = fopen( $filename, "r" ); while(!feof($fp)) { $contents .= fgets($fp, 100); } fclose($fp); echo "$contents"; } ?> |
main_htm/top.htm
<html> <head> <title>나라비의 방</title> <style TYPE="TEXT/CSS"> A:link {color: blue; text-decoration:none} A:visited {color: navy; text-decoration:none} A:hover {color: red; text-decoration:underline;} </style> </head> <body> <table border="0" width = "600" cellpadding="0" cellspacing="0"> <tr><td width="589" colspan="2" bgcolor="#f9cd8a">나라비의 방을 찾아주셔서 대단히 감사합니다.</td></tr> <tr> <tr> <td width = "120" valign="top" colspan="0"> <table width = "120" border="0"> <tr><td width="120" bgcolor="#b5d490"><p> <b><br>홈으로</b></font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">나라비 소개</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">나리비 소식</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">Windows NT</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">시(김소월)</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">시(기타)</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">질문과답변</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">다른곳</font></td> </tr> </table> <td valign="top" align="center" width = "480"> |
main_htm/bottom.htm
</td> </tr> <tr> <td colspan="2" align="center" valign="top">Copyright ⓒ 1999 nalabi.Mail to<a href="mailto:nalabi@hananet.net">webmaster</a></td> </tr> </table> </body> </html> |
테이블 작성 (mysql DBNAME < test.tbl)
create table test ( no int default '0' not null auto_increment, name char(10), regdate date, PRIMARY KEY(no) ); |
name_input.php 작성
<html> <body> <form name="form" method="get" action="write_db.php3"> <inputtype="text" name="name" size="10"> <input type="submit" name="ok" value="보내기"> </form> </body> </html> |
write_db.php 작성
<? // MySQL 서버에 연결한다 $connect=mysql_connect( "localhost", "root", "") or die( "SQL server에 연결 할수 없습니다."); $tbl_list = mysql_list_tables("kedu"); //데이타 베이스를 설정합니다. $result = mysql_query("insert into test (name) values ('$name')"); $result=mysql_query($result, $connect ); $tbl_name="select * from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //테이블의 내용을 가져옴 $rows = mysql_num_rows($result); echo("입력 되었습니다..<br>"); for($i=0; $i< $rows;$i++) { echo("$print[name]<br>"); $print=mysql_fetch_array($result); } ?> |
테이블 작성 ( mysql DBNAME < test.tbl )
create table test ( no int default '0' not null auto_increment, id char(10), name char(10), pw char(8), regdate date, regtime time, PRIMARY KEY(no) ); |
check_input.php 작성
<html> <body> <table> <form name="form" method="post" action=access_db.php3> <tr> <td>아이디 </td> <td><INPUT name=id size=10> <br></td></tr> <tr> <td>이 름 </td> <td><INPUT name=name size=10> <br></td></tr> <tr> <td>비밀번호</td> <td><INPUT name=pw size=10 type=password> <br></td></tr> <tr> <td>비밀번호확인</td> <td><INPUT name=pw2 size=10 type=password> </td></tr></table> <input type="submit" value="보내기"> </form> </table> </body> </html> |
access_db.php 작성
<? // MySQL 서버에 연결한다 $connect=mysql_connect( "localhost", "root", "") or die( "SQL server에 연결 할수 없습니다."); $tbl_list= mysql_list_tables("kedu"); //데이타 베이스를 설정합니다. if($id == "") { echo "아이디를 입력 하지 않았습니다."; } elseif($name == ""){ echo "이름을 입력 하지 않았습니다."; } elseif($pw == ""){ print "비밀번호를 입력하지않았습니다.<br>"; print "비밀번호를 입력 해주세요.<br>"; } elseif($pw2 == ""){ print "비밀번호확인을 입력하지 않았습니다.<br>"; print "비밀번호확인을 입력 해주세요.<br>"; } elseif($pw != $pw2) { print "비밀번호가 같지 않습니다. <br>"; print "비밀번호를 다시 입력 해주세요. <br>"; } else { echo "$id가 입력 되었습니다..<br>"; $date = date("y-m-d", time()); $result = mysql_query("insert into test values ('','$id','$name','$pw','$date','$time')"); $result=mysql_query($result, $connect); $tbl_name="select *from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //테이블의 내용을 가져옴 $rows = mysql_num_rows($result); for($i=0; $i< $rows;$i++) { echo("$print[id] $print[name] $print[pw] $print[regdate]<br>"); $print=mysql_fetch_array($result); } } ?> |
테이블 출력 프로그램
<? // MySQL 서버에 연결한다 $connect=mysql_connect( "localhost", "username", "") or die( "Unabletoconnect to SQL server"); //-------------------------------------------------------------------------- // 사용가능한 DB 목록을 검색 //-------------------------------------------------------------------------- $dblist = mysql_listdbs(); //데이타 베이스 목록을 인식한다. $dbnum=mysql_num_rows($dblist); //데이타 베이스 갯수를 변수에 저장한다. for($i=0; $i < $dbnum; $i++) //데이타 베이스 갯수 만큼 { $dbname[$i] = mysql_dbname($dblist, $i) ; //데이타 베이스 목록 이름을 변수에 저장한다. } echo "데이타 베이스 검색 내용 <br>"; for($i=0; $i < count($dbname); $i++) { //데이타 베이스 갯수 만큼 echo "$dbname[$i] <br>"; // 데이타 베이스 이름을 웹에 나타내준다. } //-------------------------------------------------------- // 사용가능한 테이블 목록을 검색 //-------------------------------------------------------- $tbl_list = mysql_list_tables("board"); //데이타 베이스를 설정합니다. $tbl_num=mysql_num_rows($tbl_list); // 테이블 갯수를 변수에 저장합니다. echo "<br>데이타 테이블 검색 내용--> 테이블명,레코드수<br>"; for($i=0; $i < $tbl_num; $i++) //테이블 갯수 만큼 { $tbl_name[$i] = mysql_tablename($tbl_list,$i) ; // 테이블 이름을 변수에 저장 $result[$i] = mysql_query( "SELECT * FROM $tbl_name[$i]"); //테이블의 내용을 변수에 저장 $rows[$i] = mysql_num_rows($result[$i]); // 테이블의 레코드 수를변수에 저장 echo "$tbl_name[$i], $rows[$i], $name <br>"; //테이블의 이름과, 레코드수를 웹에 출력 해줍니다. } //-------------------------------------------------------------------- // 사용가능한 테이블 내용을 출력 //-------------------------------------------------------------------- $tbl_name="select * from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //테이블의 내용을 가져옴 echo("<br>테이블 내용을 화면에 출력 시켜 줍니다.<br>"); echo("이름, 나이, 전화번호부, 주소<br>"); echo("$print[name], $print[age], $print[tel], $print[addr]<br>"); //------------------------------------------------------------------------------- // 사용가능한 테이블 내용을 전체 출력 //------------------------------------------------------------------------------- $que_bbs="select * from test" ; $result=mysql_query($que_bbs,$connect ); $print=mysql_fetch_array($result); $rows = mysql_num_rows($result); echo("<br>테이블 내용 전체를 출력 시켜 줍니다.<br>"); echo("이름, 나이, 전화번호부, 주소<br>"); for($i=0; $i < $rows; $i++) { echo("$print[name], $print[age], $print[tel], $print[addr]<br>"); $print=mysql_fetch_array($result); } ?> |
mysql_free_result 를 해서 메모리를 풀어 준다.
<? mysql_connect($db_server, $db_user, $db_pass); $result = mysql_db_query("$db_name","select * from $table_name"); while($row = mysql_fetch_array($result)) { echo $row["no"]; echo $row["name"]; echo " "; } mysql_free_result($result); ?> |
<? Header("Content-type: image/gif"); $file = "test.gif"; $size = 4096; if (!($fp = fopen($file, "r"))) { die("could not open input"); exit; } while ($data = fread($fp,$size)) { print($data); } ?> |
달력 예제
<? // 변수값 설정 $date=01; $day=01; $off=0; //년도 달 설정 $year = '2000'; $month = '01'; /* Figure out how many days are in this month */ while (checkdate($month,$date,$year)): $date++; endwhile; // 메뉴 표시하기 echo "<table width='420' ><tr><td align = center>$year 년 $month 월</td></tr></table>"; echo "<table border='1' width='420'><tr>"; echo "<td><b><font face='돋음'>월</font></b></td>"; echo "<td><b><font face='돋음'>화</font></b></td>"; echo "<td><b><font face='돋음'>수</font></b></td>"; echo "<td><b><font face='돋음'>목</font></b></td>"; echo "<td><b><font face='돋음'>금</font></b></td>"; echo "<td><b><font face='돋음'>토</font></b></td>"; echo "<td><b><font face='돋음'>일</font></b></td>"; echo "<tr>"; //루프 돌리기 while ($day<$date): /* Figure what day of the week the first falls on and set the number of preceding and trailing cells accordingly */ if ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Sunday') { echo "<td>$day</td>"; $off = '01'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Monday') { echo "<td></td><td>$day</td>"; $off= '02'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Tuesday') { echo "<td></td><td></td><td>$day</td>"; $off= '03'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Wednesday') { echo "<td></td><td></td><td></td><td>$day</td>"; $off= '04'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Thursday') { echo "<td></td><td></td><td></td><td></td><td>$day</td>"; $off= '05'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Friday') { echo "<td></td><td></td><td></td><td></td><td></td><td>$day</td>"; $off= '06'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Saturday') { echo "<td></td><td></td><td></td><td></td><td></td><td></td><td>$day</td>"; $off= '07'; } else { echo "<td>$day</td>"; } //일 증가 시키기 $day++; $off++; if ($off>7) { echo "</tr><tr>"; $off='01'; } else { echo ""; } endwhile; echo "</table>"; ?> |
어떤 문자열 중에서 000 이라는 문자열의 레코드를 찾아 내기
표현 :
int ereg(string pattern, string string, array [regs]);
사용법 :
ereg(찾을 패턴, 검사할 문자열, 결과 배열);
예제 :
ereg("([0]{3})", $hash[code], $regs)
각각의 패턴은 ()로 정의를 합니다.
([0]{3})는 0의갯수가 3개로 나와야한다는 의미이다.
([0]{2, 3}) 0의 갯수가 2개 혹은 3개를 의미
([0-9]{2, 3}) 0에서 9까지의 숫자가 2자리 혹은 3자리를 의미
<? $sth = mysql_query("select * from kangsa_type order by code"); while($hash = mysql_fetch_array($sth)) { if(ereg("([0]{3})", $hash[code], $regs)) { print "$hash[typename]"; } } ?> |
auth.sql 을 먼저 작성을한다.
# MySQL dump 6.6 # # Host: localhost Database: myhome #-------------------------------------------------------- # Server version 3.23.8-alpha # # Table structure for table 'auth' # CREATE TABLE auth ( id char(10) DEFAULT '' NOT NULL, passwd char(10), name char(10), level int(11), PRIMARY KEY (id) ); # # Dumping data for table 'auth' # INSERT INTO auth VALUES ('nalabi','xxxx','김용일',1); |
auth.ph 인증하는 부분을 작성한다.
<?php cfunction authenticate() { Header( "HTTP/1.0 401 Unauthorized"); $title= "Invalid Login"; ?> 아이디와 암호가 필요합니다! <?php exit; } if(!isset($PHP_AUTH_USER)) { authenticate(); } else { mysql_pconnect( 'localhost', 'root', '') or die( "Unable to connect to SQL server"); // MySQL 서버 접속 mysql_select_db( "test") or die( "Unable to select database"); // DB 선택 $result = mysql_query( "select name , level from auth where id='$PHP_AUTH_USER' and passwd='$PHP_AUTH_PW' "); if(!mysql_num_rows($result)) { authenticate(); } else { $userinfo = mysql_fetch_array($result); } } ?> |
test.php 프로그램 하는데서 인증하는 부분을 적용한다.
<? include ("auth.ph"); echo("어서 오십시요."); ?> |
kernel.php
<? function kernel() { $label = array("안정버전","개발버전","알파버전"); $cmd = "/usr/bin/finger @ftp.kernel.org| cut -c59-66 | sed -e '/^$/d'"; exec($cmd,$array,$rtn); for($i=0; $i < count($array); $i++) { list($v1, $v2, $v3) = split('[/.-]' , $array[$i]); $version = "v".$v1.".".$v2."/linux-".$array[$i].".tar.gz"; $label[$i] = "<a href = ftp://ftp.kernel.org/pub/linux/kernel/".$version.">".$label[$i]." : ".$array[$i]."</a>"; } return $label; } $label = kernel(); echo("$label[0] <br> $label[1] <br> $label[2]"); ?> |
whois 프로그램이 깔려 있어야 합니다.
rpm -qa | grep whois
whois-1.0.10-1 |
프로그램
<? function domain($string) { $cmd = "whois $string"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print domain("formail.org"); ?> |
문자열에 영어 대소문자, 숫자만 오도록 하게 하는 함수입니다
<? function check_id($string) { $error_msg = "error"; if (ereg("[^a-zA-Z0-9]", $string)) { $error_msg = $error_msg; return $error_msg; } else { return $string; } } $id1 = "abcd"; $id2 = "ZabCA"; $id3 = "9Zab01"; $id4 = "#ab.c.%"; $id5 = "한글"; $msg = check_id($id1); print "id1 : $msg"; $msg = check_id($id2); print "id2 : $msg"; $msg = check_id($id3); print "id3 : $msg"; $msg = check_id($id4); print "id4 : $msg"; $msg = check_id($id5); print "id5 : $msg"; ?> |
sql 문
# MySQL dump 7.2 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.23.11-alpha # # Table structure for table 'login3' # CREATE TABLE login3 ( nick char(10) ); # # Dumping data for table 'login3' # INSERT INTO login3 VALUES ('나라비'); |
test.php
<? function add_error($why, $reason, $nick) { print "$reason<br>"; } $nick= "나라비"; if (ereg ("[~!@#$%^&*()~|"/'+=-_:;,.<>]", $nick)) { $why="닉네임"; $reason="닉네임에 특수문자가 있습니다."; add_error($why,$reason,$nick); exit; } if(ereg(" ", $nick)) { $why="닉네임"; $reason="닉네임에 공백이 있습니다."; add_error($why,$reason,$nick); exit; } if($nick=="") { $head = "닉네임"; $mesg = "닉네임이 없습니다."; add_error($head,$mesg,$nick); } if(strlen($nick) < 2) { $head = "닉네임"; $mesg = "닉네임은 특수문자를 제외한 2자이상으로 넣어주세요."; add_error($head,$mesg,$nick); } $server = "localhost"; $name = "root"; $passwd = ""; $dbname = "test"; mysql_connect($server, $name, $passwd); mysql_select_db($dbname); $que1 = "select nick from login3 where nick='$nick'"; $result= mysql_query($que1); $current_row = mysql_fetch_row($result); if($current_row[0] == $nick) { $head = "닉네임"; $reason = $nick."님이 이미 등록되어 있습니다."; add_error($why,$reason,$nick); } else { print $nick; } ?> |
sql 문
# MySQL dump 6.4 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.23.5-alpha # # Table structure for table 'login' # CREATE TABLE login ( id char(10) DEFAULT '' NOT NULL, reg_date char(10), nick char(10), passwd char(10), name char(10), user_num int(11), address char(10), phone char(10), email char(10), job char(10), PRIMARY KEY (id) ); # # Dumping data for table 'login' # INSERT INTO login VALUES ('nalab1','','aaaa','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab2','','bbbb','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab3','','cccc','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab4','','dddd','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab5','','eeee','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab6','','ffff','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab7','','gggg','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab8','','hhhh','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab9','','iiii','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala10','','jjjj','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala11','','kkkk','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala12','','llll','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala13','','mmmm','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala14','','nnnn','bbbb','1111',0,'1','cccc','dddd','eeee'); |
test.php
<? $server = "localhost"; $name = "root"; $passwd = ""; $dbname = "test"; mysql_connect($server, $name, $passwd); mysql_select_db($dbname); $page_scale=3; //한페쥐당 보여줄 숫자 번호[1][2][3] $scale=2; // 한페이쥐 당 보여줄 라인 개수(레코드) if(!$star){ $star= 0 ;} // 시작할 레코드 번호 - 1 $page=floor($star/($scale*$page_scale)); // 페이지 수 얻기 $que1="select DATE_FORMAT(reg_date,'Y.m.d'), id,nick, passwd ,name , user_num, address, phone, email, job from login order by reg_date DESC " ; $result = mysql_query($que1); $total = mysql_affected_rows(); //게시물 총 수 $last=floor($total/$scale); //마지막 번호 echo "<font size=-1>전체 등록자 : $total 명 입니다."; echo "<html><title>회원관리</title><body bgcolor=ffffff><center><font size=4>회원관리 페이지</font> <table border=1><tr bgcolor=336699> <td align=center><font color=ffffff size=-1>등록일</font><td align=center><font color=ffffff size=-1>ID</font></td> <td align=center><font color=ffffff size=-1>닉네임</font></td> <td align=center><font color=ffffff size=-1>비밀번호</font></td> <td align=center><font color=ffffff size=-1>이름</font></td> <td align=center><font color=ffffff size=-1>주민등록번호</font></td> <td align=center><font color=ffffff size=-1>주소</font></td> <td align=center><font color=ffffff size=-1>연락처</font></td> <td align=center><font color=ffffff size=-1>E-Mail</font></td> <td align=center><font color=ffffff size=-1>직업</font></td> <td align=center><font color=ffffff size=-1>관리</font></td></tr>"; if($star) { $n=$total-$star; } else { $n=$total; } for($i=$star ; $i< $star+$scale ; $i++) // star 에서 scale 까지 만 { if($i< $total ) // 전체 자료 개수까지만 출력 { mysql_data_seek($result,$i); $row=mysql_fetch_array($result); $imsi=$row[5]; echo"<tr><td align=center><font size=-1>$row[0]</font></td> <td align=center><font size=-1>$row[1]</font></td> <td align=center><font size=-1>$row[2]</font></td> <td align=center><font size=-1>$row[3]</font></td> <td align=center><font size=-1>$row[4]</font></td> <td align=center><font size=-1>$row[5]</font></td> <td align=center><font size=-1>$row[6]</font></td> <td align=center><font size=-1>$row[7]</font></td> <td align=center><font size=-1><a href=mailto:$row[8]>$row[8]</font></a></td> <td align=center><font size=-1>$row[9]</font></td> <td align=center><font size=-1><a href=$admin_url?action=erase&num=$row[5]&start=$start>삭제</a></font></td></tr> "; } $n--; } echo "</table><br><br>"; if($total>$scale) { if($star+1>$scale*$page_scale) { $pre_star=$star-$scale; echo"<a href='$PHP_SELF?star=$pre_star'> 이전</a>"; } for($vj=0; $vj < $page_scale ; $vj++) { $ln=($page*$page_scale+$vj)*$scale; $vk=$page*$page_scale+$vj+1; if($ln < $total) { if($ln!=$star) { echo"<a href='$PHP_SELF?star=$ln'><font size=2>[$vk]</a></font>"; } else { echo"<font size-2><b>$vk</b></font>"; } } } if($total>(($page+1)*$scale*$page_scale)) { $n_star=($page+1)*$scale*$page_scale; echo"<a href='$PHP_SELF?star=$n_star'>다음</a>"; } } ?> |
정규식 표현
a(b*) : a, ab, abb, a와 임의의 갯수들로 된 문자열 a(b+) : ab, abb, abbb, ab와 임의의 갯수들로 된 문자열 a(b?) : a or ab, a 다음에 b가 있어도 되고, 없어도 된다. a(b{3}) : abbb a(b{2,}) : abb, abbb, abbbb, a 와 두개 이상의 b들로 된 문자열 a(b{2.4}) : abb, abbb, abbbb, a 와 두개 이상, 네 개 이하의 b들로 된 문자열 [a-z] : a-z 까지 문자열 [a-zA-Z0-9] : 임의 영숫자 |
공백 문자
[^0-9] : 임의 숫자가 아닌문자 [~a-zA-Z0-9]: 임이의 영숫자가 아닌 문자 |
임의의 공백문자가 아닌 문자
a.c : aac, abc, acc, a 와 c에 임의의 문자 하나가 끼어 있는 문자열 ^a.* : a로 시작하는 임의의 문자열 [a-c]*x$ : x, ax, bx, abax, abcx, a에서 c사이의 임의의 문자들로이루어지며, 마지막 문자가 x인 문자열 b[ao]y : bay 또는 boy에인 문자열 [^Zz]{5} : Z or z 가 포함되지 않은 길이가 5인 임의의 문자열 [[:digit:]] : 임의의 숫자 , [0-9] [[:<:]a.* : a로 시작하는 임의의 문자열 예) ^([0-9]{2,4})(-[0-9]{3,4})(-[0-9]{3,4}) : 전화번호(xxxx-xxxx-xxxx) |
engdic 프로그램이있나 확인하고 없으면 설치한다.
which engdic
test.php, exec 를 사용해서 engdic 프로그램을 실행한다.
<? // 영한/ 사전 입니다. function engdic($string) { $cmd = "engdic $string"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print engdic("hello"); ?> |
fwhois 프로그램이있나 확인하고 없으면 설치한다.
which fwhois
test.php, exec 를 사용해서 engdic 프로그램을 실행한다.
<? //아이피 소속 회사, 기관 알아내는 함수 function ip($string) { $cmd = "fwhois $string"."@whois.nic.or.kr"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print ip("210.180.116.238"); ?> |
<? function date_selector($name, $date) { $monthname = array(1=>"1월", "2월", "3월", "4월","5월","6월","7월","8월","9월","10월", "11월","12월"); if($date == "") { $date = time(); } //년 print "<select name = ".$year." year > "; $start_year = date("Y", $date); for($current_year = $start_year - 5; $current_year <= $start_year + 5; $current_year++) { print "<option value = $current_year"; if(date("Y", $date) == $current_year) { print " selected "; } print " > $current_year "; } print "</select>"; //월 print "<select name = ".$month." month >"; for($current_month = 1; $current_month <= 12; $current_month++) { print "<option value = $current_month "; if(date("m", $date) == $current_month) { print " selected "; print ">"; print $monthname[$current_month]; } else { print ">"; print $monthname[$current_month]; } print " "; } print "</select>"; //일 print "<select name = ".$day." day >"; for($current_day = 1; $current_day <= 31; $current_day++) { print "<option value = $current_day "; if(date("d", $date) == $current_day ) { echo " selected "; } echo " > $current_day 일"; } print "</select>"; } echo "<html> <head> <title>연습</title> <body>"; if(isset($month)) { //$use_date = mktime(0, 0, 0, $sample_month, $sample_day, $sample_year); $use_date = mktime(0, 0, 0, $month, $day, $year); } else { $use_date = time(); } print "<form action = cal.php method = post>"; print date_selector("cal", $use_date); echo "<input type = submit value = 입력> </form> </body> </html>"; ?> |