[php]file

PHP의 file 함수

file 함수는 지정한 파일의 내용을 배열로 읽어옵니다. 각 배열 요소는 파일의 한 줄에 해당하며, 파일을 읽을 때 유용하게 사용됩니다. 파일을 읽고 처리해야 할 때 배열 형태로 데이터를 다루기 쉽습니다.

file 함수의 사용 예시:

$filename = 'example.txt';
$lines = file($filename);

if ($lines !== false) {
    foreach ($lines as $line) {
        echo $line;
    }
} else {
    echo "Error reading file.";
}

다른 함수와 함께 사용하는 예시:

  1. implode 함수와 함께 사용하기 (배열을 문자열로 결합):
$filename = 'example.txt';
$lines = file($filename);

if ($lines !== false) {
    $content = implode('', $lines); // 파일 내용을 하나의 문자열로 결합
    echo $content;
} else {
    echo "Error reading file.";
}
  1. array_map 함수와 함께 사용하기 (배열 요소에 함수 적용):
$filename = 'example.txt';
$lines = file($filename);

if ($lines !== false) {
    $trimmedLines = array_map('trim', $lines); // 배열의 모든 요소에 trim 함수 적용
    foreach ($trimmedLines as $line) {
        echo $line . PHP_EOL;
    }
} else {
    echo "Error reading file.";
}

조건문과 반복문과 함께 사용하는 예시:

$filenames = ['file1.txt', 'file2.txt', 'file3.txt'];

foreach ($filenames as $filename) {
    $lines = file($filename);
    if ($lines !== false) {
        echo "Content of $filename:" . PHP_EOL;
        foreach ($lines as $line) {
            echo $line;
        }
    } else {
        echo "Error reading $filename." . PHP_EOL;
    }
}

성능 향상을 위한 팁:

  1. file 함수는 파일의 내용을 한 번에 배열로 읽어오기 때문에 큰 파일을 다룰 때 메모리 사용에 주의해야 합니다. 파일을 한 줄씩 처리해야 할 경우 fgets 함수 등을 활용하여 메모리 사용을 최적화할 수 있습니다.

  2. 반복적으로 파일을 읽어와야 할 경우, 가능한 한 파일 핸들을 열어두고 반복문 안에서 읽어오는 것보다, 한 번에 모든 내용을 읽어온 뒤 배열로 저장하여 활용하는 것이 성능에 도움이 될 수 있습니다.


게시됨

카테고리

,

작성자