묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php 파일입출력 재질문입니다.
2004.04.18 06:24
먼저 친절하게 알려주신 플로렐라님께 감사드립니다.
몇줄아래 질문에 대한 재질문입니다.
저의목표는 db.txt라는 화일에
111
222
333
444
라고 저장되어있는걸
111
30000
333
444
이런식으로 한줄씩만 바꾸는 것입니다.
밑에 플로렐라님께서
$fp=fopen("db.txt", "w"); //쓰기전용, 파일초기화됨
fputs($db_data); //변경된 내용을 저장
라는 식으로 fputs를 알려주셨는데요
저대로 돌려보니까 에러나더라구요...
그래서 fputs를 찾아보고
fputs($fp,$db1_data); 이런식으로 쓰니까 db.txt라는 화일이 모두지워지고 첫째줄에
Array
라고만 저장되더라구여... 그래서
fputs($fp,$db1_data[1]); 라고 써보니까
화일내용이 모두지워지고 첫째줄에
30000 하나만 저장되었습니다 (입력이 30000이었거든요..)
보아하니 for 루프돌려서 화일 끝까지 읽는걸로 저장할수는 있을것같은데요....
이런식으로 화일 입출력때마다 화일을 전부 읽고 써야하는 것말고
write할때 2번째줄만 overwrite하는 방법은 없는지요... ㅠ.ㅠ
이번에도 고수님들께 부탁드려요....
mysql안쓰고 화일쓸려니까 번거롭네요 ㅠ.ㅠ
몇줄아래 질문에 대한 재질문입니다.
저의목표는 db.txt라는 화일에
111
222
333
444
라고 저장되어있는걸
111
30000
333
444
이런식으로 한줄씩만 바꾸는 것입니다.
밑에 플로렐라님께서
$fp=fopen("db.txt", "w"); //쓰기전용, 파일초기화됨
fputs($db_data); //변경된 내용을 저장
라는 식으로 fputs를 알려주셨는데요
저대로 돌려보니까 에러나더라구요...
그래서 fputs를 찾아보고
fputs($fp,$db1_data); 이런식으로 쓰니까 db.txt라는 화일이 모두지워지고 첫째줄에
Array
라고만 저장되더라구여... 그래서
fputs($fp,$db1_data[1]); 라고 써보니까
화일내용이 모두지워지고 첫째줄에
30000 하나만 저장되었습니다 (입력이 30000이었거든요..)
보아하니 for 루프돌려서 화일 끝까지 읽는걸로 저장할수는 있을것같은데요....
이런식으로 화일 입출력때마다 화일을 전부 읽고 써야하는 것말고
write할때 2번째줄만 overwrite하는 방법은 없는지요... ㅠ.ㅠ
이번에도 고수님들께 부탁드려요....
mysql안쓰고 화일쓸려니까 번거롭네요 ㅠ.ㅠ
댓글 3
-
써니루루☆
2004.04.18 15:00
-
걸러리
2004.04.20 06:47
감사합니다 .. 이제는 하두 염치없이 많이 물어봐서 민망하네요 ^^;
써니루루님말씀대로 해봤는데 개행문자가 줄마다 삽입되서요 ^^;
implode("",$db1_data));
이렇게 바꾸니까 해결되긴했는데요... 움.. ^^;;
바꾼 두번째라인...$db1_[1]=$db1_[1]+$tmp_m; 이런식으로 값을 바꾼건데요..
111
222
333
444
555
이 값이
111
30000
333
444
555
이렇게 나와야하는데
111
30000333
444
555
이렇게 두번째 변경값에 개행문자가 안들어가는데요...
이것만 좀 알려주시면 안될까요?? ^^;
죄송합니다 더이상은 안여쭤볼께여... -
걸러리
2004.04.20 12:27
아.. 이거 정말 모르겠네요 ㅠ.ㅠ
str_replace 써도 안되구
nl2br써도 안되구 ㅠ.ㅠ
뒤에 변수 +"\\n" 해도 안되구... 해결좀 해주세요.. ㅠ.ㅠ
로 바꿔보세요