์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 8์ฃผ์ฐจ: ํ์ผ ์ ์ถ๋ ฅ ๋ฐ ์ฟ ํค/์ธ์  - 01 ํ์ผ ์์ฑ, ์ฝ๊ธฐ, ์ฐ๊ธฐ
				์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
 - ๋ผ์ด์ ์ค: free
 - ์ด์์ฒด์ :
 - ํ์ผ ํฌ๊ธฐ: 0
 
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
 - ๋ค์ด๋ก๋ ์: 1
 - ์กฐํ์: 86
 
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
 - ๋ฑ๋ก์ผ: 2025-07-03 19:02:22
 
- ์ค๋ช
๐ PHP ์ด๊ธ - 8์ฃผ์ฐจ: ํ์ผ ์ ์ถ๋ ฅ ๋ฐ ์ฟ ํค/์ธ์  - 01 ํ์ผ ์์ฑ, ์ฝ๊ธฐ, ์ฐ๊ธฐ
์ด๋ฒ ์ฃผ์ฐจ๋ถํฐ๋ #PHP์์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ธ #ํ์ผ ์ ์ถ๋ ฅ๊ณผ ์น ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ์ ์ํ๋ฅผ ์ ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ #์ฟ ํค ๋ฐ #์ธ์ ์ ๋ํด ํ์ตํฉ๋๋ค. ์ค๋์ ์ฒซ ๋ฒ์งธ ์๊ฐ์ผ๋ก, PHP๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ฑํ๊ณ , ๋ด์ฉ์ ์ฝ๊ณ ์ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
ํ์ผ ์ ์ถ๋ ฅ์ ์ค์์ฑ
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋จ์ํ ํ๋ฉด์ ์ถ๋ ฅํ๊ฑฐ๋ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ ์ธ์, ํ์ผ ํํ๋ก ์ ์ฅํ์ฌ ๋์ค์ ๋ค์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ก๊ทธ ๊ธฐ๋ก: ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ ๊ณผ์ , ์๋ฌ ๋ฐ์ ์ ๋ณด ๋ฑ์ ํ์ผ์ ๊ธฐ๋กํ์ฌ ๋ฌธ์  ๋ฐ์ ์ ์ถ์  ๋ฐ ๋ถ์์ ํ์ฉํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ ์ฅ: ์ฌ์ฉ์ ์ค์ , ์์ ๋ฐ์ดํฐ, ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ํํ๋ก ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
ํ ํ๋ฆฟ ์ฒ๋ฆฌ: ํ ์คํธ ๊ธฐ๋ฐ ํ ํ๋ฆฟ ํ์ผ์ ์ฝ์ด์ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ฉํ ์ ์์ต๋๋ค.
ํ์ผ ์ ๋ก๋/๋ค์ด๋ก๋: ์ฌ์ฉ์๊ฐ ํ์ผ์ ์๋ฒ์ ์ ๋ก๋ํ๊ฑฐ๋ ์๋ฒ์์ ํ์ผ์ ๋ค์ด๋ก๋ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
ํ์ผ ์์ฑํ๊ธฐ
PHP์์ ํ์ผ์ ์์ฑํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ touch() ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
touch() ํจ์
touch(string $filename, ?int $timestamp = null)
$filename: ์์ฑํ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ก์ด ๋น ํ์ผ์ ์์ฑํฉ๋๋ค. ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ํ์ผ์ ์ ๊ทผ ๋ฐ ์์  ์๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค.$timestamp(์ ํ ์ฌํญ): ํ์ผ์ ์ ๊ทผ ๋ฐ ์์  ์๊ฐ์ ํน์  ํ์์คํฌํ๋ก ์ค์ ํฉ๋๋ค. ์๋ตํ๋ฉด ํ์ฌ ์๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค.
์์
ํ์ฌ ๋๋ ํ ๋ฆฌ์ new_file.txt๋ผ๋ ๋น ํ์ผ์ ์์ฑํ๋ ์์์
๋๋ค.
PHP
<?php
$filename = 'new_file.txt';
if (touch($filename)) {
    echo "$filename ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ต๋๋ค.n";
} else {
    echo "$filename ํ์ผ ์์ฑ์ ์คํจํ์ต๋๋ค.n";
}
?>
ํ์ผ ์ด๊ณ ๋ซ๊ธฐ
ํ์ผ์ ๋ด์ฉ์ ์ฝ๊ฑฐ๋ ์ฐ๊ธฐ ์ํด์๋ ๋จผ์  fopen() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ด์ด์ผ ํฉ๋๋ค. ์์
์ด ์๋ฃ๋๋ฉด fclose() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ๋ซ์์ผ ํฉ๋๋ค.
fopen() ํจ์
fopen(string $filename, string $mode, bool $use_include_path = false, ?resource $context = null): resource|false
$filename: ์ด๊ณ ์ ํ๋ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.$mode: ํ์ผ์ ์ด๊ธฐ ์ํ ๋ชจ๋๋ฅผ ์ง์ ํฉ๋๋ค. ์ฃผ์ ๋ชจ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.'r': ์ฝ๊ธฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ์ฒ์์ผ๋ก ์ค์ ). ํ์ผ์ด ์กด์ฌํด์ผ ํฉ๋๋ค.'w': ์ฐ๊ธฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ์ฒ์์ผ๋ก ์ค์ ํ๊ณ ํ์ผ ๋ด์ฉ์ ๋น์๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ์์ฑํฉ๋๋ค).'a': ์ถ๊ฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ๋์ผ๋ก ์ค์ ํฉ๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ์์ฑํฉ๋๋ค).'x': ๋ฐฐํ์  ์์ฑ ๋ฐ ์ฐ๊ธฐ ๋ชจ๋ (ํ์ผ์ด ์กด์ฌํ๋ฉดfalse๋ฅผ ๋ฐํํ๊ณ ์คํจํฉ๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ์์ฑํ๊ณ ์ฐ๊ธฐ ๋ชจ๋๋ก ์ฝ๋๋ค).'r+': ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ์ฒ์์ผ๋ก ์ค์ ). ํ์ผ์ด ์กด์ฌํด์ผ ํฉ๋๋ค.'w+': ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ์ฒ์์ผ๋ก ์ค์ ํ๊ณ ํ์ผ ๋ด์ฉ์ ๋น์๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ์์ฑํฉ๋๋ค).'a+': ์ฝ๊ธฐ ๋ฐ ์ถ๊ฐ ๋ชจ๋ (ํ์ผ ํฌ์ธํฐ๋ฅผ ํ์ผ์ ๋์ผ๋ก ์ค์ ํฉ๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ์์ฑํฉ๋๋ค. ์ฝ๊ธฐ๋ ์ฒ์๋ถํฐ ๊ฐ๋ฅํฉ๋๋ค).
$use_include_path(์ ํ ์ฌํญ): ํ์ผ์ include path์์ ์ฐพ์์ง ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค.$context(์ ํ ์ฌํญ): ํ์ผ ์์ ์ ์ํ ์ปจํ ์คํธ ๋ฆฌ์์ค๋ฅผ ์ง์ ํฉ๋๋ค.๋ฐํ ๊ฐ: ์ฑ๊ณต ์ ํ์ผ ํธ๋ค (resource), ์คํจ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
fclose() ํจ์
fclose(resource $stream): bool
$stream: ๋ซ์ ํ์ผ ํธ๋ค (resource)์ ์ง์ ํฉ๋๋ค.๋ฐํ ๊ฐ: ์ฑ๊ณต ์
true, ์คํจ ์false๋ฅผ ๋ฐํํฉ๋๋ค.
์์
my_document.txt ํ์ผ์ ์ฝ๊ธฐ ๋ชจ๋๋ก ์ด๊ณ  ๋ซ๋ ์์์
๋๋ค.
PHP
<?php
$filename = 'my_document.txt';
$file = fopen($filename, 'r');
if ($file) {
    echo "$filename ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ ธ์ต๋๋ค.n";
    fclose($file);
    echo "$filename ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ซํ์ต๋๋ค.n";
} else {
    echo "$filename ํ์ผ ์ด๊ธฐ์ ์คํจํ์ต๋๋ค.n";
}
?>
ํ์ผ์ ๋ด์ฉ ์ฐ๊ธฐ
fwrite() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆฐ ํ์ผ์ ๋ด์ฉ์ ์ธ ์ ์์ต๋๋ค.
fwrite() ํจ์
fwrite(resource $stream, string $data, ?int $length = null): int|false
$stream: ์ฐ๊ธฐ ์์ ์ ์ํํ ํ์ผ ํธ๋ค (resource)์ ์ง์ ํฉ๋๋ค.$data: ํ์ผ์ ์ธ ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ์ง์ ํฉ๋๋ค.$length(์ ํ ์ฌํญ): ์ธ ๋ฐ์ดํฐ์ ์ต๋ ๋ฐ์ดํธ ์๋ฅผ ์ง์ ํฉ๋๋ค.๋ฐํ ๊ฐ: ์ฐ์ฌ์ง ๋ฐ์ดํธ ์ (์ฑ๊ณต ์), ์ค๋ฅ ๋ฐ์ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
์์
log.txt ํ์ผ์ ํ์ฌ ์๊ฐ๊ณผ ๋ฉ์์ง๋ฅผ ์ถ๊ฐํ๋ ์์์
๋๋ค.
PHP
<?php
$filename = 'log.txt';
$file = fopen($filename, 'a'); // ์ถ๊ฐ ๋ชจ๋๋ก ์ด๊ธฐ
if ($file) {
    $timestamp = date('Y-m-d H:i:s');
    $message = "[$timestamp] ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ์ ๊ทผํ์ต๋๋ค.n";
    $bytes_written = fwrite($file, $message);
    if ($bytes_written !== false) {
        echo "$bytes_written ๋ฐ์ดํธ๊ฐ ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ์ฌ์ก์ต๋๋ค.n";
    } else {
        echo "ํ์ผ ์ฐ๊ธฐ์ ์คํจํ์ต๋๋ค.n";
    }
    fclose($file);
} else {
    echo "$filename ํ์ผ ์ด๊ธฐ์ ์คํจํ์ต๋๋ค.n";
}
?>
ํ์ผ ๋ด์ฉ ์ฝ๊ธฐ
PHP๋ ํ์ผ ๋ด์ฉ์ ์ฝ๊ธฐ ์ํ ๋ค์ํ ํจ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ํจ์๋ fread(), fgets(), fgetc(), file_get_contents() ๋ฑ์ด ์์ต๋๋ค.
fread() ํจ์
fread(resource $stream, int $length): string|false
$stream: ์ฝ๊ธฐ ์์ ์ ์ํํ ํ์ผ ํธ๋ค (resource)์ ์ง์ ํฉ๋๋ค.$length: ์ฝ์ ์ต๋ ๋ฐ์ดํธ ์๋ฅผ ์ง์ ํฉ๋๋ค.๋ฐํ ๊ฐ: ์ฝ์ ๋ฌธ์์ด (์ฑ๊ณต ์), ํ์ผ ๋์ ๋๋ฌํ๊ฑฐ๋ ์ค๋ฅ ๋ฐ์ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
fgets() ํจ์
fgets(resource $stream, ?int $length = null): string|false
$stream: ์ฝ๊ธฐ ์์ ์ ์ํํ ํ์ผ ํธ๋ค (resource)์ ์ง์ ํฉ๋๋ค.$length(์ ํ ์ฌํญ): ์ฝ์ ์ต๋ ๋ฌธ์ ์๋ฅผ ์ง์ ํฉ๋๋ค (๊ฐํ ๋ฌธ์ ํฌํจ). ์๋ตํ๋ฉด ํ ์ค์ ์ฝ์ต๋๋ค.๋ฐํ ๊ฐ: ์ฝ์ ๋ฌธ์์ด (์ฑ๊ณต ์), ํ์ผ ๋์ ๋๋ฌํ๊ฑฐ๋ ์ค๋ฅ ๋ฐ์ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
fgetc() ํจ์
fgetc(resource $stream): string|false
$stream: ์ฝ๊ธฐ ์์ ์ ์ํํ ํ์ผ ํธ๋ค (resource)์ ์ง์ ํฉ๋๋ค.๋ฐํ ๊ฐ: ํ์ผ ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ํ ๋ฌธ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํ (์ฑ๊ณต ์), ํ์ผ ๋์ ๋๋ฌํ๊ฑฐ๋ ์ค๋ฅ ๋ฐ์ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
file_get_contents() ํจ์
file_get_contents(string $filename, bool $use_include_path = false, ?resource $context = null, int $offset = 0, ?int $length = null): string|false
$filename: ์ฝ์ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.$use_include_path(์ ํ ์ฌํญ): ํ์ผ์ include path์์ ์ฐพ์์ง ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค.$context(์ ํ ์ฌํญ): ํ์ผ ์์ ์ ์ํ ์ปจํ ์คํธ ๋ฆฌ์์ค๋ฅผ ์ง์ ํฉ๋๋ค.$offset(์ ํ ์ฌํญ): ํ์ผ ์ฝ๊ธฐ๋ฅผ ์์ํ ๋ฐ์ดํธ ์คํ์ ์ ์ง์ ํฉ๋๋ค.$length(์ ํ ์ฌํญ): ์ฝ์ ์ต๋ ๋ฐ์ดํธ ์๋ฅผ ์ง์ ํฉ๋๋ค.-1์ ํ์ผ ๋๊น์ง ์ฝ์์ ์๋ฏธํฉ๋๋ค.๋ฐํ ๊ฐ: ํ์ผ์ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ฐํ (์ฑ๊ณต ์), ์ค๋ฅ ๋ฐ์ ์
false๋ฅผ ๋ฐํํฉ๋๋ค.
์์
data.txt ํ์ผ์ ๋ด์ฉ์ ์ฝ์ด ํ๋ฉด์ ์ถ๋ ฅํ๋ ์์์
๋๋ค.
fread() ์ฌ์ฉ ์์:
PHP
<?php
$filename = 'data.txt';
$file = fopen($filename, 'r');
if ($file) {
    // ํ์ผ ์ ์ฒด ํฌ๊ธฐ๋ฅผ ์ป์ด์ ํ ๋ฒ์ ์ฝ๊ธฐ
    $filesize = filesize($filename);
    $content = fread($file, $filesize);
    fclose($file);
    echo $content;
} else {
    echo "$filename ํ์ผ ์ด๊ธฐ์ ์คํจํ์ต๋๋ค.n";
}
?>
fgets() ์ฌ์ฉ ์์ (ํ ์ค์ฉ ์ฝ๊ธฐ):
PHP
<?php
$filename = 'data.txt';
$file = fopen($filename, 'r');
if ($file) {
    while (($line = fgets($file)) !== false) {
        echo $line;
    }
    fclose($file);
} else {
    echo "$filename ํ์ผ ์ด๊ธฐ์ ์คํจํ์ต๋๋ค.n";
}
?>
file_get_contents() ์ฌ์ฉ ์์:
PHP
<?php
$filename = 'data.txt';
$content = file_get_contents($filename);
if ($content !== false) {
    echo $content;
} else {
    echo "$filename ํ์ผ ๋ด์ฉ์ ์ฝ์ด์ค๋ ๋ฐ ์คํจํ์ต๋๋ค.n";
}
?>
๊ฒฐ๋ก
์ค๋์ #PHP๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ฑํ๊ณ , ์ด๊ณ ๋ซ์ผ๋ฉฐ, ๋ด์ฉ์ ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. #ํ์ผ ์ ์ถ๋ ฅ์ ์น ์ ํ๋ฆฌ์ผ์ด์  ๊ฐ๋ฐ์์ ๋ค์ํ ์ฉ๋๋ก ํ์ฉ๋๋ฏ๋ก, ๊ฐ ํจ์์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ์ ์ดํดํ๊ณ ์ตํ๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ค์ ์๊ฐ์๋ ์ฟ ํค ์ค์  ๋ฐ ์ฝ๊ธฐ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค.