묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
PHP 파일입출력 질문입니다.
2004.04.16 07:53
db.txt 라는 화일에
111
222
333
444
555
라고 5줄의 내용이 있다고 하면
$db_data=file("db.txt");
$db_data[0]; -> 이런식으로 줄단위로 읽어오는 건 알겠습니다
하지만 반대로
2번째라인 222라는 내용만 20000 이런식으로 바꾸려면 어떻게 해야는지 잘 모르겠습니다 ㅠ.ㅠ
스칼라 값이 배열로 읽을수없다 이런식으로 에러가 나는것같아요 ㅠ.ㅠ
도와주세요
111
222
333
444
555
라고 5줄의 내용이 있다고 하면
$db_data=file("db.txt");
$db_data[0]; -> 이런식으로 줄단위로 읽어오는 건 알겠습니다
하지만 반대로
2번째라인 222라는 내용만 20000 이런식으로 바꾸려면 어떻게 해야는지 잘 모르겠습니다 ㅠ.ㅠ
스칼라 값이 배열로 읽을수없다 이런식으로 에러가 나는것같아요 ㅠ.ㅠ
도와주세요
댓글 4
-
플로렐라
2004.04.16 08:54
파일을 수정하는것 말씀인지? -
걸러리
2004.04.16 09:44
넵 수정하는것 맞습니다... 해당 라인만 overwrite하는 것입니다... ㅠ.ㅠ -
플로렐라
2004.04.16 11:39
파일의 2번째 줄만 바꾸는거라면...
<?
$db_data=file("db.txt"); //파일을 읽음
$db_data[1]="20000"; //2번째줄의 내용을 바꿈
$fp=fopen("db.txt", "w"); //쓰기전용, 파일초기화됨
fputs($db_data); //변경된 내용을 저장
fclose($fp) //파일포인터를 닫아줌
?> -
걸러리
2004.04.18 06:13
플로렌라 님 죄송해여 에러납니다 ㅠ.ㅠ
fputs($fp,$db1_data[1]); 이런식으로 써야하는데 그럼 화일 전체가 지워지고 20000 하나만 써지네요 ㅠ.ㅠ