php 나 cgi 는 접속자에게 소스를 보여주지 않습니다.
다만 스크립트를 실행하고난 결과물을 보여줄뿐입니다.
따라서 urlmon.dll 파일 사용시..
post 방식으로..
이름 파일네임 등을 같이 알려주고
그것을 php 나 cgi 에서 연산하구 결과물을 받아오게 됩니다.
이것을 알게 된다면 연동의 의미를 금방 이해하지 않을까요 ?
여기서 사용하는 php 나 cgi 는 웹에서 사용되지 않기 때문에
거추장 스럽지 않아도 되며
사용자가 요구한 정보면을 연산하면 됩니다.
사용자가 원하는 정보만 보여주고 프로그램에서 그정보를
파학하고 보여주면 되겠죠.
한가지 예를 들면 채팅을 예로 들어볼께요.
예전부터 많은분들이 창조로 채팅을 만드는것을 도전했지요
저또한 도전하였지만 결과는 처절했죠 ^^
문제는 채팅을 하나다 글들이 하나둘씩 늘어나면서
엄청난 렉이 생기는것입니다.
제가 만든 php 의 채팅 부분입니다.
이부분을 잘 이해하시기 바랍니다.
/* 소스 시작*/
<?
if(!$msg)
{
print "Error 대화내용을 입력하셔야 합니다.\n";
}
else {
$ff=file("./chat.txt");
$tt=count($ff);
if($tt>19)
{
$fp=fopen("./chat.txt","a+");
fwrite($fp,"[${nick}] ${msg}\n");
fclose($fp);
include "./chat.txt";
}
else if($mode=="chat_read")
{
include "./chat.txt";
}
?>
여기서 chat.php 라고 가정하고
./chat.php?mode=chat&msg=바보 라고 다운한다면
chat.txt 에 바보라는 글이 추가 되고.
include 명령으로 추가된 chat.txt 의 내용을 뿌리게 되죠
그럼 프로그램에선 그걸 받아서 리스트박스에 뿌려주게 됩니다.
또한 글쓸때가 아닌 단지 내용을 읽어올때는..
./chat.php?mode=chat_read 를 다운받아..
chat.txt 를 include 시키게 됩니다.
마찬가지죠 이런식으로 하면 되는겁니다 ^^;;
그리구 위에
$ff=file("./chat.txt");
$tt=count($ff);
if($tt>19)
{
이부분은 창조에선 만일 또는 아니면 만일 등의 명령입니다.
$ff=file("./chat.txt");
$tt=count($ff);
에서 chat.txt 의 라인수를 구해오죠.
만일 명령으로 라인수가 19줄이 넘나 확인하는거죠
넘으면 초기화 시키고 아니면 계속 추가 시키는거죠.
fopen 에서 마지막에 a+ , w+ 라고 있죠?
a+ 는 계속 추가해나가는거구요.
w+ 는 전의 내용을 지우고 새로 쓰는겁니다. ^^