BOX-IT

[PHP] file_put_contents가 뭘까?

Buang 2022. 10. 9. 19:48
반응형

1. file_put_contents 정의

 

file_put_contents는 파일을 생성하고, 그 파일 안에 어떠한 내용을 넣는 함수다.

 

예시를 들어보자면

 

<?php
file_put_contents('Buang.txt', 'Hi! Buang');
?>

 

위에처럼 쓴 후 실행을 시키면

Buang.txt란 이름을 가진 파일이 생성된 후

그 파일 안에 'Hi! Buang'이 작성된다.

 

결과 화면은 위와 같다.

 

 

만약 python.txt란 이름을 가진 파일을 생성하고 싶고,

그 파일 안에 '안녕! 세상아!'란 문구를 넣고 싶다면

 

<?php
file_put_contents('python.txt', '안녕! 세상아!');
?>

 

위에처럼 작성하면 될 것이다.


 

아래는 응용버전이다.

사람에 따라서 조금 어려울 수도 있다.

크게 중요하지도 않고,

이해하지 못해도 별로 상관없는 내용이다.

 

이해가 안 간다면 '이해가 안 가구만~'하고 넘어가면 될 부분이다.

 

<!DOCTYPE html>
<html lang="ko">

<head>
    <meta charset="UTF-8">
</head>

<body>
    <pre>
        <form action="form.php">
            <input type="text" name="title" placeholder="Title">
            <textarea name="description" > </textarea>
            <input type="submit" name="submit" value="submit">
        </form>
    </pre>
</body>

</html>

 

form.html 파일을 생성하고

위와같은 코드를 작성했다.

 

 

결과화면은 위와 같다.

 

여기서 중요하게 볼 건 3가지다.

 

1) title 부분(맨 상단 빈칸)에 내가 텍스트를 입력하고

2) description 부분(하단에 큰 네모칸)에 내가 텍스트를 입력한 뒤

3) submit 버튼을 누르면 

 

<form action="form.php"> 에 의해서 내가 작성한 내용이

form.php란 파일로 이동한다는 거다.

 

<form action="form.php"> 는 내가 form.html에서 쓴 내용

form.php로 전달해줘!라고 요청하는 거다.

 

form action이 내가 form 태그 내에서 작성한 내용을

누구누구 서버한테 전송해줘. 란 의미이다.

나는 form 태그 내에 있는 내용을 form.php한테 전송해주라고 작성했다.

 

 

<?php
file_put_contents('data/'.$_GET['title'], $_GET['description']);
?>

 

form.php는 위에처럼 코드를 작성했다.

 

- 'data/'는 data란 폴더 아래라는 뜻이다.

- $_GET은 입력받은 값을 받아올게. 란 뜻이다.

 

 

$_GET['title'] 이라고 작성하고

내가 title(맨 상단 빈칸)에 "안녕"이라고 입력했다면

$_GET['title'] 은 title(맨 상단 빈칸)에 입력된

"안녕"이란 값을 받아오겠단(GET) 뜻이다.

내가 "안녕"이라고 작성했으니

"안녕"이란 이름의 파일 생성될 것이다.

 

그리고 description(하단 빈칸)에 "모두모두 안녕"이라고 작성했다고 하자.

 

그럼 안녕이란 이름의 파일 안에 

"모두모두 안녕"이란 텍스트가 작성되는 것이다.

 

 

 

그렇다면 이번에 내가 title 부분에 hi를 입력하고
description 부분에 hello를 입력하면 어떻게 될까?

 

 

hi란 이름의 파일이 생성된 후

그 파일 안에 hello란 텍스트가 새겨진다.

 

 

반응형

'BOX-IT' 카테고리의 다른 글

[Arduino] 아두이노 안될 때 확인할 부분  (0) 2022.03.31