php
PHP - 파일 읽기 함수
파일을 읽어 오기 위한 함수로는 file함수, fread함수, fgets함수가 있습니다. 이 함수의 역할은 다음 표를 참고할 수 있습니다.
array file ( string $filename [, int $flags= 0 [, resource $context ]] )
(PHP 4, PHP 5)
$flags 인자에는 다음 상수가 올 수 있습니다.
fread 함수를 사용하기 위해서는 반드시 파일을 열고, 읽고, 닫아 주어야 합니다.
string fgetc ( resource $handle )
(PHP 4, PHP 5)
fgetc 함수는 한 문자씩 읽어 반환하고, 파일의 끝부분까지 포인터의 포지션을 1만큼 증가시킵니다.
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
(PHP 4, PHP 5)
fgetss 함수 사용하는 방법은 다음 예제를 참고합니다.
함 수 | 설 명 |
---|---|
file | 파일 전체를 읽어 배열로 반환합니다. |
fread | 한 줄(또는 전체)를 바이너리로 읽어 옵니다. |
fgets | 파일 포인터에서 한 줄을 읽어 옵니다. |
fgetc | 파일 포인터에서 한 문자씩 읽어 옵니다. |
fgetss | 파일 포인터에서 한 줄을 읽어서 Html, Php 태그를 제거합니다. |
fgetcsv | 파일의 현재 위치에서 CSV 필드로 된 줄을 읽어 와서 파싱합니다. |
array file ( string $filename [, int $flags= 0 [, resource $context ]] )
(PHP 4, PHP 5)
$flags 인자에는 다음 상수가 올 수 있습니다.
상 수 | 설 명 |
---|---|
FILE_BINARY | 바이너리로 읽어 옵니다. (PHP 5.2.7부터) |
FILE_TEXT | UTF-8 인코딩으로 읽어 옵니다. (PHP 5.2.7부터) |
FILE_IGNORE_NEW_LINES | 개행 처리되지 않은 문자를 반환합니다. |
FILE_SKIP_EMPTY_LINES |
<?php
$arr = file('test.txt');
foreach($arr as $v){
echo $v;
}
?>
<?php
// 비어 있는 라인이나 개행처리 되지 않은 값을 반환받습니다.
$arr = file('test.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($arr as $v){
echo $v;
}
?>
<?php
// 바이너리로 읽어 옵니다.
$arr = file('test.txt', FILE_BINARY);
foreach($arr as $v){
echo $v;
}
?>
fread 함수를 사용하기 위해서는 반드시 파일을 열고, 읽고, 닫아 주어야 합니다.
<?php
$filename = 'test.txt';
$fp = fopen($filename, 'r'); // 열기
// filesize로 파일크기를 읽어들여 그 크기만큼 작성합니다.
$arr = fread($fp, filesize($filename)); // 읽기
echo $arr;
fclose($fp); // 닫기
?>
string fgetc ( resource $handle )
(PHP 4, PHP 5)
fgetc 함수는 한 문자씩 읽어 반환하고, 파일의 끝부분까지 포인터의 포지션을 1만큼 증가시킵니다.
<?php
/*
test.txt
habony 함수
*/
$filename = 'test.txt';
$fp = fopen($filename, 'r');
if ($fp) {
while (false !== ($char = fgetc($fp))) {
echo $char."\n";
}
}
fclose($fp);
/*
결과:
h
a
b
o
n
y
함
수
*/
?>
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
(PHP 4, PHP 5)
fgetss 함수 사용하는 방법은 다음 예제를 참고합니다.
<?php
/*
test.txt
<html><body>
<p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
*/
$handle = fopen("test.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgetss($handle, 1024);
echo $buffer;
}
fclose($handle);
}
/*
결과:
Welcome! Today is the of .
*/
?>
0 댓글