T

자동업데이트 만들기 위한 기반(자작 ㅠ.ㅠ) 소스 (원제: 자루스님~)

<?PHP
$file_pointer = @fopen("./data.php", "r");
$file = fread($file_pointer, 1000);

if($file_pointer) {
 echo "파일을 성공적으로 열었습니다.<hr>";
 echo $file;
 $no_id = @explode("echo \"아래에 소스 삽입되어야 정상<br>\";", $file);
 $no_id = @explode("echo \"위에 소스가 삽입되어야 정상<br>\";", $no_id[1]);

 $file_pointer2 = fopen("./data.php", "w");
 $text = chr(13) . "\n\necho \"Good Evening<br>\";\n\n";
 $con = str_ireplace($no_id[0], $text, $file);
 fwrite($file_pointer2, str_ireplace($file, $con, $file));
 
} else {
  echo("파일 열기를 실패했습니다."); 
}

@fclose($file_pointer);
?>
 
a옵션의 경우 수정 추가이고 w같은경우 새로 작성이라 자루스님 말씀듣고 w로 줬더니 잘되네요~
감사합니다.
 
[이 게시물은 관리자님에 의해 2011-09-02 16:01:14 자유게시판에서 이동 됨]
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|

댓글 4개

하하 php.net이 진리입니다.
네.
php.net에서 w 옵션을 발견했습니다.
알고 잇었는데 생각을 못하고 있다가 사이트에서 w 옵션을 본것이지요.
수정했습니다.
<?PHP
$file_pointer = fopen("./data.php", "r");
if($file_pointer) {
echo "파일을 성공적으로 열었습니다.<hr>\n";

$file = fread($file_pointer, 1000); // 파일리드

/* 업데이트 관련 */
$wr = explode("echo \"아래에 소스 삽입되어야 정상<br>\";", $file);
$wr = explode("echo \"위에 소스가 삽입되어야 정상<br>\";", $wr[1]);
$text = "\n\necho \"Good Evening<br>\";\n\n".chr(13).chr(13); // 업데이트문

/* 파일 재작성 */
if(!eregi($text, $file)){ // 이미 처리 했는지 확인
if($file_pointer2 = @fopen("./data.php", "w")){ // 퍼미션 에러 있는지 검사
$con = str_ireplace($wr[0], $text, $file);
fwrite($file_pointer2, str_ireplace($file, $con, $file));
echo "성공적으로 변경하였습니다.";
}else{
echo "업데이트 해야 할 파일에 쓰기가 불가능합니다.";
}
}else{
echo "이미 업데이트 됬습니다.";
}

} else {
echo("업데이트 해야할 파일을 찾지 못했습니다.");
}


@fclose($file_pointer);
?>
data.php 경우 수정하고자 하는 소스 사이 무엇(공백포함) 이라도 있어야합니다.
기존소스를 수정하는 방법은 더 생각을 해봐야겠네요.
업데이트 만들기 위한 기반
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,829
14년 전 조회 1,690
14년 전 조회 2,128
14년 전 조회 1,421
14년 전 조회 1,321
14년 전 조회 1,357
14년 전 조회 1,498
14년 전 조회 1,973
14년 전 조회 1,591
14년 전 조회 2,116
14년 전 조회 1,887
14년 전 조회 1,867
14년 전 조회 1,829
14년 전 조회 2,713
14년 전 조회 4,004
14년 전 조회 2,228
14년 전 조회 3,203
14년 전 조회 2,675
14년 전 조회 2,543
14년 전 조회 1,690
14년 전 조회 1,282
14년 전 조회 1,565
14년 전 조회 1,732
14년 전 조회 2,420
14년 전 조회 2,474
14년 전 조회 1,899
14년 전 조회 1,603
14년 전 조회 1,787
14년 전 조회 1,837
14년 전 조회 1,843
14년 전 조회 1,333
14년 전 조회 1,438
14년 전 조회 1,541
14년 전 조회 2,486
14년 전 조회 1,655
14년 전 조회 1,620
14년 전 조회 1,894
14년 전 조회 1,515
14년 전 조회 1,634
14년 전 조회 1,615
14년 전 조회 1,902
14년 전 조회 1,428
14년 전 조회 1,408
14년 전 조회 1,353
14년 전 조회 1,485
14년 전 조회 1,674
14년 전 조회 2,409
14년 전 조회 1,765
14년 전 조회 1,632
14년 전 조회 2,380
14년 전 조회 1,607
14년 전 조회 1,468
14년 전 조회 1,503
14년 전 조회 1,578
14년 전 조회 1,769
14년 전 조회 1,679
14년 전 조회 1,722
14년 전 조회 1,869
14년 전 조회 1,731
14년 전 조회 2,974
14년 전 조회 2,640
14년 전 조회 3,282
14년 전 조회 1,249
14년 전 조회 1,551
14년 전 조회 1,810
14년 전 조회 1,417
14년 전 조회 1,408
14년 전 조회 2,179
14년 전 조회 1,982
14년 전 조회 2,989
14년 전 조회 1,971
14년 전 조회 1,577
14년 전 조회 4,108
14년 전 조회 2,307
14년 전 조회 1,733
14년 전 조회 2,091
14년 전 조회 1,438
14년 전 조회 2,613
14년 전 조회 1,484
14년 전 조회 1,941
14년 전 조회 1,448
14년 전 조회 1,956
14년 전 조회 2,201
14년 전 조회 1,718
14년 전 조회 1,498
14년 전 조회 1,732
14년 전 조회 1,622
14년 전 조회 2,662
14년 전 조회 1,827
14년 전 조회 1,533
14년 전 조회 1,453
14년 전 조회 2,058
14년 전 조회 3,327
14년 전 조회 1,451
14년 전 조회 3,276
14년 전 조회 2,407
14년 전 조회 1,607
14년 전 조회 1,818
14년 전 조회 1,723
14년 전 조회 1,709