> 백엔드 개발 > PHP 튜토리얼 > 텍스트 파일의 특정 줄을 PHP로 어떻게 바꿀 수 있습니까?

텍스트 파일의 특정 줄을 PHP로 어떻게 바꿀 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-13 02:42:02
원래의
1078명이 탐색했습니다.

How Can I Replace Specific Lines in a Text File with PHP?

텍스트 파일의 특정 줄을 PHP로 바꾸기

텍스트 파일 내에서 특정 단어의 존재 여부에 따라 선택적으로 줄을 바꾸는 것은 공통 요구 사항. 이와 관련하여 PHP는 이 작업을 수행하기 위한 여러 가지 접근 방식을 제공합니다.

더 작은 파일에 배열 함수 사용(메모리에 맞추기)

메모리에 맞는 텍스트 파일의 경우, 다음 접근 방식을 사용할 수 있습니다.

$data = file('myfile'); // Array of lines
function replace_a_line($data) {
    return (stristr($data, 'certain word')) ? "replacement line!\n" : $data;
}
$data = array_map('replace_a_line', $data);
file_put_contents('myfile', $data);
로그인 후 복사

PHP 버전의 Lambda 함수 > 5.3.0에서는 간결한 버전을 허용합니다.

$data = array_map(function($data) {
    return (stristr($data, 'certain word')) ? "replacement line\n" : $data;
}, $data);
로그인 후 복사

더 큰 파일의 경우(메모리 집약적)

더 큰 파일의 경우 아래 접근 방식은 한 줄씩 반복됩니다. 전체 파일을 메모리에 로드하지 않고 한 줄을 실행합니다.

$reading = fopen('myfile', 'r');
$writing = fopen('myfile.tmp', 'w');
$replaced = false;
while (!feof($reading)) {
    $line = fgets($reading);
    if (stristr($line, 'certain word')) {
        $line = "replacement line!\n";
        $replaced = true;
    }
    fputs($writing, $line);
}
fclose($reading); fclose($writing);
if ($replaced) rename('myfile.tmp', 'myfile');
else unlink('myfile.tmp');
로그인 후 복사

이러한 기술을 구현하면 단어 일치를 기반으로 텍스트 파일의 특정 줄을 효과적으로 바꿀 수 있습니다.

위 내용은 텍스트 파일의 특정 줄을 PHP로 어떻게 바꿀 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿