PHP 파일 입출력
◆ 데이터 저장하기
데이터는 파일이나, 데이터베이스에 저장할 수 있다.
◆ 파일 처리 (파일에 데이터쓰기,읽기)
1. 파일을 연다, 만약 파일이 존재하지 않는다면 새로 만든다.
2. 파일에 데이터를 쓴다.
3. 파일을 닫는다.
◆ 파일 열기
fopen() 함수, 파일을 사용하는 목적을 명시해주어야 하며, 이것을 파일모드
* 파일모드
1. 읽기,쓰기, 읽고쓰기 전용
2. 덮어쓰거나, 파일의 끝에 새 데이터를 추가한다.
3. 바이너리, 텍스트 파일 중 하나를 선택한다.
<?php
$fp = fopen(“/var/www/html/order.txt”,’w’);
?>
* 상대경로, 절대경로
1. 상대경로 : 웹 문서 트리 와의 상대적인 위치 -> $_SERVER[‘DOCUMENT_ROOT’]
2. 절대경로 : 루트 데릭터리(리눅스 /, 윈도우 C:\)에서 접근하는 경로
* 파일모드 (두 번째 파라미터)
r(읽기모드), r+(읽고쓰기위해), w(쓰기모드), w+(읽고쓰기위해), a(추가모드:끝에서부터 붙여넣기)
<?php
$fp = fopen(“/var/www/html/info.txt”,’ab’); // @ 오류 억제 연산
if(!$fp) {
echo “<p><strong> Your information could not be processed at this time.”;
echo "Please try againg later.</strong></p>";
exit;
}
?>
◆ 파일쓰기
fwrite($fp,$outstring,strlen($outputstring)); // $outstring에 저장된 문자열을 $fp가 가르키는 파일에 쓴다.
fwrite(resource handle, string string, int length) // length는 문자열의 길이 strlen()으로 알아낼 수 있다.
* 저장형식
$outstring = $id.”id \t”.$password.”password \n”
// \n 한줄 씩 저장하기 위해
// \t 필드를 구별하기 위해 탭을 삽입한다. 구분 문자로 불러오면 관리하기 편하다.
◆ 파일 닫기 : 파일 사용이 끝났을 경우 파일을 닫는다.
fclose($fp);
fclose()함수는 제대로 닫혔을 때 true 리턴, 아니면 false 리턴하여, 별도로 검사하지 않아도 된다.
◆ 파일 입출력에 관해 주의점
* chmod u+wrx 파일저장할.txt / chmod o+wrx 파일저장할.txt
readonly 에서 사용권한을 주어야 파일에 저장이 가능하다.
◆ 파일의 끝 알아보기
feof() 함수는 파일의 포인터를 인자로 받는다.
while(!feof($fp))
◆ 한 번에 한 줄씩 읽기 : fgets(),fgetss(), fgetcsv()
1. fgets(resourse fp, int length) : EOF(End of File)를 만나거나, length-1만큼 한 줄 씩 읽고 진행한다.
2. fgetss() : 읽어들인 문자열에서 PHP와 HTML태그를 모두 제거한다.
3. fgetcsv() : 읽어들인 문자열을 구분 문자로 나누어서 배열에 저장한다.
◆ 한 번에 파일 전체 읽기 : readfile()
'Web프로그래밍' 카테고리의 다른 글
HTML5 01-1 HTML5 개요 웹 표준의 기본 지식 (0) | 2016.04.19 |
---|---|
PHP 배열, 문자열 (0) | 2016.02.15 |
PHP 예외 처리 Exception (0) | 2016.02.15 |
PHP 함수와 객체, 클래스 (0) | 2016.02.15 |
PHP 입력과 출력, include와 require (0) | 2016.02.15 |