PHP에서 파일의 모든 줄을 삭제하는 방법

王林
풀어 주다: 2023-03-07 15:04:01
원래의
2835명이 탐색했습니다.

PHP에서 파일의 행을 삭제하는 방법: 먼저 파일을 한 줄씩 배열로 읽은 다음 배열을 탐색하고 저장할 문자열에 배열의 각 요소 값을 추가합니다. 삭제된 내용이 처리됩니다. 읽지 말고 마지막에 파일을 저장하세요.

PHP에서 파일의 모든 줄을 삭제하는 방법

파일을 한줄씩 배열로 읽어들인 후, 배열을 반복하면서 삭제할 줄에 해당하는 배열 요소가 있을 때 배열의 각 요소의 값을 문자열에 추가합니다. 처리되었으면 읽지 말고 마지막으로 파일을 저장하세요.

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

구현 방법:

$num=2;
//要删除的行序号 
$fp=file("test.txt"); 
$total=count($fp); 
//取得文件总行数 
foreach ($fp as $line) { 
//按行分解内容并 
$tmp[]=$line; 
//逐行写入数组 
} 
for($i=0;$i<$total;$i++){ 
//若$i的值不等于要删除的行序号 
if($i<>$num) 
$savestr.=$tmp[$i]; 
} 
//写入文件 
$fp=fopen("test.txt","w"); 
fwrite($fp,$savestr); 
fclose($fp);
로그인 후 복사

위 PHP 프로그램을 실행하면 test.txt 파일의 세 번째 줄이 삭제됩니다. 파일의 라인 시퀀스 번호는 우리가 일반적으로 알고 있는 1이 아닌 0부터 시작하는데, 이는 배열 요소의 아래 첨자 번호와 동일합니다.

소위 '액션'의 개념이라는 것을 명확히 해야 할 문제가 있습니다. 메모장을 사용하여 파일을 작성해 보겠습니다. 한 줄이 끝나면 Enter 키를 누르거나 입력하지 마세요. 파일을 저장한 후 한 줄을 입력하고 Enter 키를 누른 다음 다른 줄을 입력하면 파일에 한 줄이 생깁니다. 저장하면 파일에 두 줄이 표시됩니다. 메모장에서 형식을 "자동 줄바꿈"으로 설정하면 텍스트 줄이 오른쪽 끝에 도달하면 자동으로 줄바꿈되지만 두 줄이 아니라 여전히 한 줄입니다.

메모장에서는 텍스트가 아무리 많아도 형식이 "자동 줄 바꿈"인지 여부에 관계없이 캐리지 리턴 문자가 없으면 한 줄만 가능합니다. 즉, 줄 표시는 캐리지 리턴 문자입니다(PHP에서는 ""rn""으로 표시됨).

위 프로그램을 수정하면 파일에서 모든 빈 줄(공백 + 캐리지 리턴만 있거나 캐리지 리턴만 있는 줄)을 쉽게 삭제할 수도 있습니다. 배열을 탐색하고 저장된 문자열 요소를 읽을 때 트림을 사용하여 각 배열을 감지합니다.

for($i=0;$i<$total;$i++){ if(trim($tmp[$i])<>"") $savestr.=$tmp[$i]; }
로그인 후 복사

이 프로그램은 파일의 빈 줄을 모두 삭제하지만 파일의 마지막 줄이 빈 줄인 경우 공백 문자(있는 경우)를 지우고 캐리지 리턴(파일의 끝으로 간주됨)을 남깁니다. 파일 포인터 플래그).

관련 권장 사항: php training

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

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