본문 바로가기
프로그래밍/PHP

06 PHP 파일 다루기

by 윤지(●'◡'●) 2021. 8. 5.
728x90
반응형


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() 함수에서 사용할 수 있는 파일 모드는 다음과 같다.

 

이미지 출저: TCPSCHOOL

 

 

 

 

파일 읽기

 

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>

 

 

 


열심히 공부하고 있지만, 오류 사항이 존재 할 수 있습니다.

수정 사항이 존재 할 경우 알려주시면 감사하겠습니다 <(__)>

728x90
반응형

'프로그래밍 > PHP' 카테고리의 다른 글

07 파일을 이용하여 댓글을 만들어보자  (0) 2021.08.06
05 세션(session)  (0) 2021.08.04
04 쿠키(Cookie)  (0) 2021.08.03
03 문자열함수  (0) 2021.08.02

댓글