
PHP ์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 8์ฃผ์ฐจ: ํ์ผ ์ ์ถ๋ ฅ ๋ฐ ์ฟ ํค/์ธ์ - 01 ํ์ผ ์์ฑ, ์ฝ๊ธฐ, ์ฐ๊ธฐ
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-07-03 19:02:22 | |
์กฐํ์ | 34 |
๐ 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๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ฑํ๊ณ , ์ด๊ณ ๋ซ์ผ๋ฉฐ, ๋ด์ฉ์ ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. #ํ์ผ ์ ์ถ๋ ฅ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ๋ค์ํ ์ฉ๋๋ก ํ์ฉ๋๋ฏ๋ก, ๊ฐ ํจ์์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ์ ์ดํดํ๊ณ ์ตํ๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ค์ ์๊ฐ์๋ ์ฟ ํค ์ค์ ๋ฐ ์ฝ๊ธฐ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค.