>  기사  >  백엔드 개발  >  PHP에서 파일의 마지막 줄을 삭제하는 방법

PHP에서 파일의 마지막 줄을 삭제하는 방법

王林
王林원래의
2020-08-12 13:44:302504검색

PHP에서 파일의 마지막 줄을 삭제하는 방법: 먼저 fopen() 함수를 사용하여 파일을 연 다음 fgets() 함수를 사용하여 열린 파일에서 내용 한 줄을 읽고 배열에 저장합니다. 마지막으로 array_pop()을 사용하십시오. 이 함수는 배열의 마지막 요소를 삭제합니다.

PHP에서 파일의 마지막 줄을 삭제하는 방법

관련 함수:

(추천 튜토리얼: php 그래픽 튜토리얼)

fopen() 함수는 파일이나 URL을 엽니다.

fopen()이 실패하면 오류 메시지와 함께 FALSE를 반환합니다. 함수 이름 앞에 '@'을 추가하면 오류 출력을 숨길 수 있습니다.

fgets() 함수는 열린 파일에서 한 줄을 반환합니다.

fgets() 함수는 지정된 길이(길이 - 1)에 도달하거나, 개행 문자를 만나거나, 파일 끝(EOF)에 도달하면(둘 중 먼저 오는 경우) 새 줄 반환을 중지합니다. 이 함수는 실패 시 FALSE를 반환합니다.

array_pop() 함수는 배열의 마지막 요소를 삭제합니다. 배열의 마지막 값을 반환합니다. 배열이 비어 있거나 배열이 아닌 경우 NULL이 반환됩니다.

(학습 동영상 추천: php 동영상 튜토리얼)

코드 구현:

/**
 * 删除文件最后一行
 * @param $file_path 文件路径
 */
public function delLastLine($file_path) {
	$file = $fp = fopen($file_path, 'r') or die("Unable to open file!");
	while(!feof($file)) {
		$fp = fgets($file);
		if($fp) {
			$content[] = $fp;
		}
	}
	array_pop($content);
	fclose($file);
	//重新写入文件
	$file = fopen($file_path, 'w+');
	fwrite($file, implode("", $content));
	fclose($file);
}

설명:

내 파일을 읽은 후 배열의 마지막 줄에 false가 저장되므로 if($fp)는 내부에 쓰여진 배열. 파일에 빈 줄이 있으면 이 판단을 제거하고 배열의 마지막 줄을 두 번 삭제하십시오. 파일이 너무 커서 메모리에 맞지 않는 경우에는 이 방법이 작동하지 않습니다.

위 내용은 PHP에서 파일의 마지막 줄을 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.