테스트 사이트 - 개발 중인 베타 버전입니다

@fopen 도움 부탁드립니다. 채택완료

GnuBoard™ 9년 전 조회 4,043

</strong></p><p><?php
// 테스트 파일 생성
$file = '../adm/test.php';
$f = @fopen($file, 'a');</p><p>fwrite($f, "<?php\n");
fwrite($f, "첫번째라인\n");
fwrite($f, "두번째라인\n");
fwrite($f, "세번째라인\n");
fwrite($f, "네번째라인\n");
fwrite($f, "?>");</p><p>fclose($f);
?></p><p><strong>


위소스대로 작업하면 아래처럼 파일생성돼요.


</strong></p><p><strong><?php</strong></p><p><strong>첫번째라인</strong></p><p><strong>두번째라인</strong></p><p><strong>세번째라인</strong></p><p><strong>네번째라인</strong></p><p><strong>?></strong></p><p><strong>

 

저는 저렇게 파일 생성된상태에서  "네번째라인" 텍스트 다음줄에 "추가된라인" 이라고 추가하고싶은데

어덯게 작업해야되는지 도움 부탁드립니다.

 

"fseek" 사용해봤는데 사용방식이 틀렸는지는 모르겟는데 늘 ?> 다음에 내용이 추가되네요. 

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

답변 2개

채택된 답변
+20 포인트
9년 전

 

$file '../adm/test.php';
$DBf = file($file);
$rtn_value = '';
if($DBf) {
  $max = count($DBf) - 2;
  for($i = 0; $i < $max;$i++) {
$rtn_value .= $DBf[$i];
  }
}
$rtn_value .= "추가된라인\n?>";
$fp = fopen($file,"a");
if (flock($fp, LOCK_EX)) {
fwrite( $fp, $rtn_value );
flock($fp, LOCK_UN);
}
fclose($fp);

 

 

 

대략 이런식으로 하시면 될것 같습니다.

테스트 해보지 않아서 약간의 오류가 있을수 있겠습니다.

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

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

B
9년 전

여러가지 방법이있을수 있습니다. 

a는 쓰기전용입니다 .a+ 읽고 쓰기가 가능합니다. 

 

추가될때 파일을 읽어서 ?> 을 지우고 넣으시면 되겠네요

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

답변에 대한 댓글 1개

G
GnuBoard™
9년 전
혹시 추가될때 파일을 읽어서 ?> 지우라고 했는데 어덯게 ?> 를 지우는지?

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

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

로그인