PHP 파일 다루기
파일(file)이란 의미 있는 정보를 담고 있으며, 이름을 가지고 있는 저장 장치상의 논리적인 단위를 의미한다.
PHP에서는 데이터를 파일에 저장할 수도 있으며, 파일로부터 데이터를 읽어 들일 수도 있다.
readfile( )
파일에서 데이터를 한줄로 읽어오는 함수이다.
echo 함수를 사용하지않아도, 텍스트를 표시할 위치에 사용하면 읽어온 내용 그대로 출력된다.
[예시]
- data.txt
안녕하세요. php 파일 예제 입니다.
화이팅!
<body>
<h2>파일 - 1</h2>
<p><?php readfile('./data.txt');?></p>
</body>
file( )
매개변수에 지정된 파일을 읽어 한줄씩 나눠 배열에 저장하는 함수이다.
예시를 보기전, 파일 로그시 실패할 가능성이 있는 경우 처리방법을 알아보자 !
[파일 로그시 실패할 가능성이 있는 경우 처리방법]
<?php
$변수 = @file(파일경로) or 실패했을 경우 처리할 문장;
//@를 붙이면 실행시 에러가 나더라도 스크립트를 중단하지 않으며, 화면에 에러를 발생시키지 않음
?>
이제 file()의 예시를 살펴보자:)
[예시]
<?php
$result = "";
$lines = @file("data.txt") or $result = "파일을 가져올 수 없습니다.";
/*
$lines[0] = "안녕하세요. php 파일 예제 입니다.";
$lines[1] = "화이팅!";
*/
?>
<head>
<title>파일 - 2</title>
</head>
<body>
<h2>파일 - 2</h2>
<?php
if($lines != null){ //$lines가 null이 아니라면
for($i=0; $i<count($lines); $i++){ //0부터 lines의 길이전까지 반복
$result .= $lines[$i]."<br>"; //$result = ""에 lines배열의 i번째 값 저장
}
}
?>
<p><?=$result?></p> //결과값 출력
</body>
</html>
파일 열기
PHP에서 파일은 fopen() 함수를 이용하여 열 수 있습니다.
file() 함수보다 유연한 코드를 작성하기 위한 함수로, 모드를 설정하여 여러가지 파일에 대한 처리가 가능하다.
fopen() 함수에는 첫 번째 인수로 열 파일의 주소를 전달하고 두 번째 인수로는 파일에 대한 접근 권한을 명시하는 파일 모드를 전달해야 한다.
fopen() 함수에서 사용할 수 있는 파일 모드는 다음과 같다.
파일 읽기
fopen() 함수를 이용하여 파일을 연 후에는 데이터를 읽어 올 수 있다.
PHP에서 파일의 데이터를 읽기 위해 제공하는 함수는 아래와 같다.
함수명 | 설명 |
fgets() | open한 파일의 데이터를 읽음 |
fputs() | open한 파일의 데이터를 저장 |
feof() | open한 파일의 데이터가 존재하는지 여부를 확인 |
파일 닫기
PHP에서 사용이 모두 끝난 파일은 fclose() 함수를 이용하여 닫을 수 있다.
fclose();
위의 내용을 바탕으로 파일을 읽어와 보자 :)
[예시]
- tel.txt
김사과,010-1111-1111,서울 서초구
반하나,010-2222-2222,서울 강남구
오렌지,010-3333-3333,서울 동작구
이메론,010-4444-4444,서울 금천구
<?php
$fs = @fopen("tel.txt","r") or exit("break");
//r : 읽기모드 , exit("break") : 프로그램 종료
$result = "";
while(!feof($fs)){ //$fs의 데이터가 존재하지 않을 때 까지 반복
$result .= fgets($fs); //$fs를 읽어오기
}
fclose($fs); //파일 사용이 끝나면 꼭 닫아주기
?>
<head>
<title>파일 - 4</title>
</head>
<body>
<h2>파일 - 4</h2>
<p><?=$result?></p> //결과값 출력
</body>
</html>
열심히 공부하고 있지만, 오류 사항이 존재 할 수 있습니다.
수정 사항이 존재 할 경우 알려주시면 감사하겠습니다 <(__)>
'프로그래밍 > PHP' 카테고리의 다른 글
07 파일을 이용하여 댓글을 만들어보자 (0) | 2021.08.06 |
---|---|
05 세션(session) (0) | 2021.08.04 |
04 쿠키(Cookie) (0) | 2021.08.03 |
03 문자열함수 (0) | 2021.08.02 |
댓글