2026, 새로운 도약을 시작합니다.

.txt 파일 내용을 찾을수있을까요?? 채택완료

예를들면

==== test.txt 파일 ====

19<s>1<s><s>

18<s>1<s><s>

17<s>1<s><s>


====================

txt 파일에서 18<s>1<s><s> 18이라는 값으로 찾아서 
fwrite로 18만 뺴고
19<s>1<s><s>;
17<s>1<s><s>;
이렇게 하고싶은데.. 어렵네요

답변 3개

채택된 답변
+20 포인트

$data = file('test.txt');
$fp =fopen('test2.txt','w');
$uid=$_POST['uid']; $patt="/^$uid<s>/";


foreach($data as $value){
 if( preg_match($patt, $value)) continue;
 fwrite($fp, $value);
}
fclose($fp);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

안되요ㅜㅜ흑

댓글을 작성하려면 로그인이 필요합니다.

<?

$filename = "./test.txt";

if (file_exists($filename)){

$fp = fopen($filename,"r");

$fs = filesize($filename);

$fr = @fread($fp,$fs);

fclose($fp);

$row = explode("\n",$fr);

$j = ($fs) ? sizeof($row):0;

}else{

$j=0;

}

for($i=0;$i<$j;$i++){

//여기에서 배열출력하면 될듯..

echo $row[$i];

}

?>


이런식으로하면

test.txt파일을 읽어와서 $row 배열에 줄바뀜을 기준으로 담습니다.

이후에 18<s>이부분을 걸러낸다는 뜻이 이해가잘 되지않네요..

우선 저렇게 코드작성해서 출력해보세요

for문에서 echo $row[$i]를 출력하면

원하시는 18<s>라는 부분이 나타나겠죠

여기 for문 안에서 문자열검색등의 함수를 이용해서

해당 18이라는 숫자를 찾거나 하는 조건으로 활용하시면 되겠네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

파일을 읽어와서 라인별로 읽어와서

18<s>1<s><s> 해당 라인을 지워서 다시 파일이 저장해 주는 방식으로 처리하시면 될듯 싶습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다. 18이라는 파일을 어떤식으로 찾야아할지 모르겠씁니다...
예를들면
$_POST['uid'] = 18;

이값을 넘겨서 18<s>1<s><s>을 찾은다음 없애고싶어요 ㅠㅠ
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=218181
참고 URL를 확인하세요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고