텍스트 파일의 특정 줄을 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!