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> |
[목차] |