PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제4장 파일처리 프로그램

    1. 데이터를 파일에 저장하기

예제1 : 데이터를 파일에 저장하기


<HTML>
<HEAD>
<TITLE> Leelab - 파일 처리 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">

<?
$name = "이진관";
$address = "전북 군산시 나운동 ...";
$phone = "063-000-0114";
$handphone = "016-000-0114";
$id = "leelab";
$email = "jklee@leelab.co.kr";
$homepage = "leelab.co.kr";
$date = time();
$count = 1;

$test_file = "./testfile.data";

$test_data[0] = $name;
$test_data[1] = $address;
$test_data[2] = $phone;
$test_data[3] = $handphone;
$test_data[4] = $id;
$test_data[5] = $email;
$test_data[6] = $homepage;
$test_data[7] = $date;
$test_data[8] = $count;

$test_string = implode($test_data, " || ");


if($fp = fopen($test_file, 'w')) {
    fwrite($fp, $test_string, strlen($test_string));
	fwrite($fp, "\n", strlen("\n"));

	echo("이름 : $name <BR>\n");
	echo("주소 : $address <BR>\n");
	echo("전화 : $phone <BR>\n");
	echo("휴대전화 : $handphone <BR>\n");
	echo("아이디 : $id <BR>\n");
	echo("전자메일 : $email <BR>\n");
	echo("홈페이지 : $homepage <BR>\n");
	echo("가입일 : $date <BR>\n");
	echo("카운터 : $count <BR>\n");

}
else {
    echo("${test_file}을 여는데 실패했습니다.");
}

?>
</BODY>
</HTML>


예제 2 : 폼을 이용하여 데이터를 파일에 저장하기
예제1을 수정하여 예제2를 만들면 됩니다.


<HTML>
<HEAD>
<TITLE> Leelab - 파일 처리(2)</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
if(!strcmp($mode, "process")) {
//$name = "이진관";
//$address = "전북 군산시 나운동 ...";
//$phone = "063-000-0114";
//$handphone = "016-000-0114";
//$id = "leelab";
//$email = "jklee@leelab.co.kr";
//$homepage = "leelab.co.kr";
$date = time();
$count = 1;

$test_file = "./testfile.data";

$test_data[0] = $name;
$test_data[1] = $address;
$test_data[2] = $phone;
$test_data[3] = $handphone;
$test_data[4] = $id;
$test_data[5] = $email;
$test_data[6] = $homepage;
$test_data[7] = $date;
$test_data[8] = $count;

$test_string = implode($test_data, " || ");


if($fp = fopen($test_file, 'w')) {
    fwrite($fp, $test_string, strlen($test_string));
	fwrite($fp, "\n", strlen("\n"));

	echo("이름 : $name <BR>\n");
	echo("주소 : $address <BR>\n");
	echo("전화 : $phone <BR>\n");
	echo("휴대전화 : $handphone <BR>\n");
	echo("아이디 : $id <BR>\n");
	echo("전자메일 : $email <BR>\n");
	echo("홈페이지 : $homepage <BR>\n");
	echo("가입일 : $date <BR>\n");
	echo("카운터 : $count <BR>\n");

}
else {
    echo("${test_file}을 여는데 실패했습니다.");
}


}else {
?>
<FORM METHOD=POST ACTION=""><br>
이름 : <INPUT TYPE="text" NAME="name"><br>
주소 : <INPUT TYPE="text" NAME="address"><br>
전화 : <INPUT TYPE="text" NAME="phone"><br>
휴대전화 : <INPUT TYPE="text" NAME="handphone"><br>
아이디 : <INPUT TYPE="text" NAME="id"><br>
전자우편 : <INPUT TYPE="text" NAME="email"><br>
홈페이지 : <INPUT TYPE="text" NAME="homepage"><br>
<INPUT TYPE="hidden" Name="mode" value="process">
<INPUT TYPE="submit" value="전송"><br>
</FORM>


<?
}
?>
</BODY>
</HTML>



예제3 : 파일 내용 보기


<HTML>
<HEAD>
<TITLE> Leelab - 파일 처리(3)</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
$test_file = "./testfile.data";

$fp = fopen($test_file, "r");  
if(!$fp) {
	echo("File Not Found !");
	exit;
}
while(!feof($fp))  {
     $char_data = fgetc($fp);  // 한자씩 읽어와서
     if($char_data != "\n") // 한 목록씩 파싱
            $line_data .= $char_data;
     else  {
        $col_data = explode(" || ", $line_data);  // 각 항목별로 파싱
	    $name = $col_data[0];
	    $address = $col_data[1];
	    $phone = $col_data[2];
	    $handphone = $col_data[3];
	    $id = $col_data[4];
	    $email = $col_data[5];
	    $homepage = $col_data[6];
		$date = $col_data[7];
		$count = $col_data[8];


		echo("이름 : $name <BR>\n");
		echo("주소 : $address <BR>\n");
		echo("전화 : $phone <BR>\n");
		echo("휴대전화 : $handphone <BR>\n");
		echo("아이디 : $id <BR>\n");
		echo("전자메일 : $email <BR>\n");
		echo("홈페이지 : $homepage <BR>\n");
		echo("가입일 : $date <BR>\n");
		echo("카운터 : $count <BR>\n");

	}

}
fclose($fp);
?>
</BODY>
</HTML>

예제4 : 파일 내용 수정하기(카운터 수정)
예제3을 수정하여 예제4를 만들면 됩니다.



<HTML>
<HEAD>
<TITLE> Leelab - 파일 처리(3)</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
$test_file = "./testfile.data";

$fp = fopen($test_file, "r");  
if(!$fp) {
	echo("File Not Found !");
	exit;
}
while(!feof($fp))  {
     $char_data = fgetc($fp);  // 한자씩 읽어와서
     if($char_data != "\n") // 한 목록씩 파싱
            $line_data .= $char_data;
     else  {
        $col_data = explode(" || ", $line_data);  // 각 항목별로 파싱
	    $name = $col_data[0];
	    $address = $col_data[1];
	    $phone = $col_data[2];
	    $handphone = $col_data[3];
	    $id = $col_data[4];
	    $email = $col_data[5];
	    $homepage = $col_data[6];
		$date = $col_data[7];
		$count = $col_data[8];


		echo("이름 : $name <BR>\n");
		echo("주소 : $address <BR>\n");
		echo("전화 : $phone <BR>\n");
		echo("휴대전화 : $handphone <BR>\n");
		echo("아이디 : $id <BR>\n");
		echo("전자메일 : $email <BR>\n");
		echo("홈페이지 : $homepage <BR>\n");
		echo("가입일 : $date <BR>\n");
		echo("카운터 : $count <BR>\n");
		break;
	}

}
fclose($fp);

if($fp = fopen($test_file, 'w')){

	$col_data[8]++;  // 조회 회수를 증가하고 쓰기
	$return_data = implode($col_data, " || ");
	fwrite($fp, $return_data, strlen($return_data));
	fwrite($fp, "\n", strlen("\n"));
	fclose($fp);
                
}else {

}

?>
</BODY>
</HTML>


[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.