성빈 보거라.

작성자  
   achor ( Hit: 1472 Vote: 97 )
분류      제안

#!/usr/local/bin/perl

# 우리가 쓰고 있는 방명록이다.

# 부디 열심히 분석하여 빛이 될 수 있기를... 훌쩍. !_!

# 무단도용하면 두금이야. --;



# 일단 기본 변수 선언를 선언한다.

$LogFile = 'bbs.txt';

$max = 100;

$slip = "\x01";

$newline = "\x03";



%form = &init;

$name = $form{ 'name' };

$message = $form{ 'message' };

$url = $form{ 'url' };

$email = $form{ 'email' };

$command = $form{ 'command' };

$args = $form{ 'args' };



print "Content-type: text/plain\n\n";



# flash에서 wite 키를 누르면 이쪽이 실행된다. flash에서 command에 wite 값을 주어서 이쪽으로 보낸다.

if( $command eq 'write' )

{

if( $name eq '' || $message eq '' )

{

&view( 1 );

}



open( Log, "<$LogFile" );

@lines = <Log>;

close( Log );



# 새로운 데이터 추가하고,



$str = "$name$slip$message$slip$url$slip$email";

$str =~ s/\r\n/$newline/g;

$str =~ s/\n\r/$newline/g;

$str =~ s/\n/$newline/g;

$str =~ s/\r/$newline/g;

$str .= "\n";



push( @new, $str );



$i = 0;

foreach $line ( @lines )

{

$i++;

if ( $i == $max ) { last; }

push( @new, $line );

}



# 로그 파일에 변수 저장하고,

open( Log, ">$LogFile" );

print Log @new;

close( Log );



print "name=$name&message=$message&url=$url&email=$email&command=end";

exit;

}



# 로그 파일의 라인 최대값 변수에 입력하고.

if( $command eq 'max' )

{

open( Log, "<$LogFile" );

@lines = <Log>;

close( Log );



$i = 0;

foreach $line ( @lines )

{

$i++;

}



print "max=$i&command=end";

exit;

}





&view( $args );



# 기본 함수 설정하는 부분이다. --+

sub init

{

local ($buffer, @pairs, $pair, $name, $value, %FORM);



$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;

if ( $ENV{'REQUEST_METHOD'} eq "POST" )

{

read( STDIN, $buffer, $ENV{'CONTENT_LENGTH'} );

}

else

{

$buffer = $ENV{'QUERY_STRING'};

}

@pairs = split( /&/, $buffer );



foreach $pair ( @pairs )

{

( $name, $value ) = split( /=/, $pair );

$value =~ tr/+/ /;

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$FORM{$name} = $value;

}

%FORM;

}



# 자, 여기가 중요해. flash에 변수를 전달하는 부분이야. 잘 보거라. --+

sub view

{

$mnum = $_[0];



open( Log, "<$LogFile" );

@lines = <Log>;

close( Log );



@lines = reverse( @lines );

$i = 0;

foreach $line ( @lines )

{

$i++;

if( $i == $mnum )

{

( $name, $message, $url, $email ) = split( /$slip/, $line );

$message =~ s/$newline/\n/g;

print "name=$name&message=$message&url=$url&email=$email";

last;

}

}

print "&command=end";

exit;

}



exit;



# 됐냐? 열심히 연구해 보고 수 시간 내에 응답 바란다.

# 다시금 말하지만 정말 별 거 없다.

# 여기처럼 command값이 정해지면 그쪽으로 이동시켜서 실행시키면 되고,

# flash로 값 보내는 것도 여기처럼 하면 된다.

# 행운을 빈다. !_!

#

# - achor Webs. achor

본문 내용은 9,141일 전의 글로 현재의 관점과 다를 수 있습니다.

Post: https://achor.net/board/freeboard/1518
Trackback: https://achor.net/tb/freeboard/1518

카카오톡 공유 보내기 버튼 LINE it! 밴드공유 Naver Blog Share Button
Please log in first to leave a comment.


Tag


 4382   220   206
번호
분류
제목
작성자
작성일
조회수
추천
282황당   안녕하셈~ 김윤경 2002/02/13126964
281황당   내 홈페이지가. [1] ggoob 2002/05/041839108
280황당     Re 1: 면접을 봤답니다. achor 2001/05/259739
279황당     Re 1: 긴급! 제1차 BL 번개 applefile 2000/08/037695
278황당       Re 2: [yahon] Re: 십원결의 yahon 2000/04/08121811
277황당       Re 2: 난 아냐! -_- 양사내 2000/08/2711426
276황당       Re 2: 지금 막...^^* APPLEFILE 2000/12/0512517
275황당         Re 3: 전화기를 되찾았습니다. achor 2001/05/259127
274황당       Re 2: 아처...얼굴이.. 양사내 2001/10/21100721
273황당     Re 1: 비공개 사진 파격 공개!! klover 2000/12/03371948
272황당           Re 4: 스타크래프트의 위대함. achor 2000/06/2310106
271황당           Re 4: w98 w2k achor 2000/09/2911865
270제안   급구: PHP 프로그래머 achor 2001/01/20152766
269제안   php+mssql 혹은 oracle 연동 achor 2001/02/04129535
268제안   설문조사에 응해주세요. ^^; achor 2001/03/291294101
267제안   win 2000 server 공부하는데...질문... 김경란 2001/04/04123839
266제안   자작시집 입니다 ... 홍남식 2000/04/014392210
265제안   성빈 보거라. achor 2000/04/11147297
264제안   [필독?] 사진에 관련해서... 김신갑 2000/07/06128693
263제안   제1차 BL 번개에 관한 논의 achor 2000/07/09124558
    202  203  204  205  206  207  208  209  210  211     

  당신의 추억

ID  

  그날의 추억

Date  

First Written: 11/06/1999 04:17:00
Last Modified: 03/16/2025 19:39:37