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 중국어 웹사이트의 기타 관련 기사를 참조하세요!