웹 프로그램 제작 중에 관리자 모드에서 변경이 가능한 설정들 저장 방식을
DB로 할 것인가 파일로 할 것인가 고민하다가 파일쪽으로 눈을 돌렸습니다.
제가 고민이였던 부분은 파일로 할 경우
예를 들어 관리자 모드에서 설정을 변경하여
config.php에 "<?php $config = TRUE ?>" 내용을 저장할 경우
파일에 내용을 쓰는 도중에 "<?php $conf"까지 입력하였는데
갑자기 다른 페이지에서 config.php 파일 요청이 들어올 경우
쓰다가 만 파일을 읽어와 구문 오류로 인하여 페이지 자체가 보이지 않을까하는 불안감이 있었습니다.
직접 2개의 파일로 테스트를 해보았습니다.
-- index.php --
<?php
set_time_limit(5);
for ($i = 1; $i <= 100000000; $i++)
{
include './config.php';
}
-- save.php --
<?php
sleep(3);
$str = 'testa';
$str = str_pad($str, 11111111, "_");
$fp = fopen('./config.php', 'w');
fwrite($fp, "<?php \necho '<br>'.\$i;\n\"{$str}\";");
fclose($fp);
save.php 파일을 실행시키고 index.php에서 지속적으로 config.php을 불러올 경우
테스트를 해보니 다행이도 구문 오류는 나지 않고 타임아웃만 났습니다.
여러대의 서버를 묶어서 쓰거나 이런 경우는 테스트를 해보지 않았습니다만...
다행이 OS단에서 처리하는 것 같습니다 ^^....
이왕 테스트하는 김에 이번엔 내용 문자를 2개로 나눠서
fwrite() 함수를 2번 실행시키게 하였습니다.
-- save2.php --
<?php
sleep(3);
$str = 'testa';
$str = str_pad($str, 11111111, "_");
$fp = fopen('./config.php', 'w');
fwrite($fp, "<?php \necho '<br>'.\$i;\n\"");
fwrite($fp, "{$str}\";");
fclose($fp);
내용을 보면 첫번째 fwrite()만 작동시켰을 경우 구문 오류가 나도록 고치고
두번째 fwrite()에서 나머지 내용을 쓰도록 하였습니다.
fwrite()을 두번 실행시켰을 경우 그 사이에 다른 파일의 요청이 들어올 경우
가져갈 수 있었습니다....
실행시 문법 오류가 있었습니다.....
결론
1. 한번에 fwrite()을 쓸 것
2. fwrite()로 파일을 쓰는 짧은 시간동안은 외부에서 긁어가지 못함.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 730 |
|
19년 전 | 2739 | |
| 729 |
그레이스웹
|
19년 전 | 3532 | |
| 728 |
|
19년 전 | 2719 | |
| 727 |
|
19년 전 | 2550 | |
| 726 |
|
19년 전 | 2368 | |
| 725 |
|
19년 전 | 2275 | |
| 724 |
|
19년 전 | 2159 | |
| 723 |
|
19년 전 | 4274 | |
| 722 |
|
19년 전 | 2702 | |
| 721 |
|
19년 전 | 2196 | |
| 720 |
|
19년 전 | 2296 | |
| 719 |
|
19년 전 | 2867 | |
| 718 |
|
19년 전 | 1978 | |
| 717 |
|
19년 전 | 3206 | |
| 716 |
|
19년 전 | 2768 | |
| 715 |
|
19년 전 | 2299 | |
| 714 |
|
19년 전 | 1848 | |
| 713 |
|
19년 전 | 2265 | |
| 712 |
|
19년 전 | 2023 | |
| 711 |
|
19년 전 | 1923 | |
| 710 |
|
19년 전 | 2494 | |
| 709 |
|
19년 전 | 2355 | |
| 708 |
|
19년 전 | 3910 | |
| 707 |
|
19년 전 | 3752 | |
| 706 |
|
19년 전 | 2260 | |
| 705 |
|
19년 전 | 3334 | |
| 704 |
|
19년 전 | 2007 | |
| 703 |
|
19년 전 | 2405 | |
| 702 |
|
19년 전 | 2301 | |
| 701 |
홀로남은자
|
19년 전 | 2364 | |
| 700 |
홀로남은자
|
19년 전 | 2189 | |
| 699 | 19년 전 | 2831 | ||
| 698 |
|
19년 전 | 2850 | |
| 697 |
|
19년 전 | 3190 | |
| 696 |
|
19년 전 | 3058 | |
| 695 |
|
19년 전 | 2731 | |
| 694 |
|
19년 전 | 2959 | |
| 693 |
|
19년 전 | 3215 | |
| 692 |
|
19년 전 | 2896 | |
| 691 |
|
19년 전 | 2648 | |
| 690 | 19년 전 | 2950 | ||
| 689 | 19년 전 | 4526 | ||
| 688 | 19년 전 | 2450 | ||
| 687 | 19년 전 | 2478 | ||
| 686 | 19년 전 | 3504 | ||
| 685 | 19년 전 | 3188 | ||
| 684 | 19년 전 | 2862 | ||
| 683 | 19년 전 | 2080 | ||
| 682 | 19년 전 | 1788 | ||
| 681 | 19년 전 | 2887 | ||
| 680 | 19년 전 | 1739 | ||
| 679 | 19년 전 | 2325 | ||
| 678 | 19년 전 | 3975 | ||
| 677 | 19년 전 | 3764 | ||
| 676 | 19년 전 | 3487 | ||
| 675 | 19년 전 | 3422 | ||
| 674 |
|
19년 전 | 1583 | |
| 673 |
|
19년 전 | 1944 | |
| 672 |
|
19년 전 | 1873 | |
| 671 | 19년 전 | 2539 | ||
| 670 | 19년 전 | 4659 | ||
| 669 |
|
19년 전 | 2783 | |
| 668 |
|
19년 전 | 1937 | |
| 667 |
|
19년 전 | 1957 | |
| 666 |
|
19년 전 | 1862 | |
| 665 |
|
19년 전 | 2597 | |
| 664 |
|
19년 전 | 8201 | |
| 663 |
|
19년 전 | 2751 | |
| 662 |
|
19년 전 | 2804 | |
| 661 |
|
19년 전 | 3066 | |
| 660 |
|
19년 전 | 2238 | |
| 659 |
|
19년 전 | 2264 | |
| 658 |
|
19년 전 | 2195 | |
| 657 |
|
19년 전 | 2098 | |
| 656 |
|
19년 전 | 2292 | |
| 655 |
|
19년 전 | 2549 | |
| 654 |
|
19년 전 | 3090 | |
| 653 | 19년 전 | 2343 | ||
| 652 | 19년 전 | 1931 | ||
| 651 |
|
19년 전 | 2872 | |
| 650 | 19년 전 | 5032 | ||
| 649 | 19년 전 | 3529 | ||
| 648 | 19년 전 | 3483 | ||
| 647 | 19년 전 | 2989 | ||
| 646 | 19년 전 | 2425 | ||
| 645 | 19년 전 | 1512 | ||
| 644 | 19년 전 | 3150 | ||
| 643 | 19년 전 | 2028 | ||
| 642 |
|
19년 전 | 5409 | |
| 641 | 19년 전 | 2448 | ||
| 640 | 19년 전 | 3446 | ||
| 639 | 19년 전 | 2885 | ||
| 638 | 19년 전 | 1773 | ||
| 637 | 19년 전 | 3888 | ||
| 636 | 19년 전 | 2438 | ||
| 635 | 19년 전 | 2326 | ||
| 634 |
|
19년 전 | 3029 | |
| 633 |
|
19년 전 | 3317 | |
| 632 | 19년 전 | 2524 | ||
| 631 | 19년 전 | 2283 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기