웹 프로그램 제작 중에 관리자 모드에서 변경이 가능한 설정들 저장 방식을
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()로 파일을 쓰는 짧은 시간동안은 외부에서 긁어가지 못함.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 6030 | 12년 전 | 2826 | ||
| 6029 | 12년 전 | 2850 | ||
| 6028 | 12년 전 | 1475 | ||
| 6027 | 12년 전 | 893 | ||
| 6026 |
kiplayer
|
12년 전 | 802 | |
| 6025 | 12년 전 | 598 | ||
| 6024 | 12년 전 | 2814 | ||
| 6023 | 12년 전 | 2953 | ||
| 6022 |
|
12년 전 | 2109 | |
| 6021 |
Holyreign
|
12년 전 | 1339 | |
| 6020 | 12년 전 | 786 | ||
| 6019 | 12년 전 | 2862 | ||
| 6018 | 12년 전 | 3193 | ||
| 6017 | 12년 전 | 1242 | ||
| 6016 |
kiplayer
|
12년 전 | 10576 | |
| 6015 |
itlang
|
12년 전 | 1420 | |
| 6014 | 12년 전 | 426 | ||
| 6013 |
senseme
|
12년 전 | 1364 | |
| 6012 | 12년 전 | 3115 | ||
| 6011 | 12년 전 | 7132 | ||
| 6010 | 12년 전 | 8965 | ||
| 6009 | 12년 전 | 2870 | ||
| 6008 | 12년 전 | 2992 | ||
| 6007 | 12년 전 | 6677 | ||
| 6006 | 12년 전 | 10516 | ||
| 6005 | 12년 전 | 4054 | ||
| 6004 |
|
12년 전 | 583 | |
| 6003 | 12년 전 | 887 | ||
| 6002 | 12년 전 | 2353 | ||
| 6001 | 12년 전 | 688 | ||
| 6000 |
kiplayer
|
12년 전 | 3742 | |
| 5999 | 12년 전 | 437 | ||
| 5998 |
|
12년 전 | 2942 | |
| 5997 |
|
12년 전 | 3441 | |
| 5996 | 12년 전 | 2095 | ||
| 5995 |
kiplayer
|
12년 전 | 2174 | |
| 5994 |
|
12년 전 | 3270 | |
| 5993 |
windowhan
|
12년 전 | 677 | |
| 5992 | 12년 전 | 2903 | ||
| 5991 | 12년 전 | 5234 | ||
| 5990 | 12년 전 | 1642 | ||
| 5989 |
AMDbest
|
12년 전 | 1352 | |
| 5988 | 12년 전 | 1220 | ||
| 5987 |
kiplayer
|
12년 전 | 1137 | |
| 5986 |
한번잘해보자
|
12년 전 | 928 | |
| 5985 |
kiplayer
|
12년 전 | 3141 | |
| 5984 |
dsv421
|
12년 전 | 807 | |
| 5983 |
dsv421
|
12년 전 | 1509 | |
| 5982 |
dsv421
|
12년 전 | 5837 | |
| 5981 | 12년 전 | 3214 | ||
| 5980 |
MFBob
|
12년 전 | 2623 | |
| 5979 | 12년 전 | 3100 | ||
| 5978 |
AMDbest
|
12년 전 | 1461 | |
| 5977 | 12년 전 | 793 | ||
| 5976 | 12년 전 | 1210 | ||
| 5975 | 12년 전 | 1274 | ||
| 5974 | 12년 전 | 612 | ||
| 5973 |
kiplayer
|
12년 전 | 3550 | |
| 5972 |
kiplayer
|
12년 전 | 3977 | |
| 5971 |
kiplayer
|
12년 전 | 2300 | |
| 5970 |
kiplayer
|
12년 전 | 8291 | |
| 5969 |
kiplayer
|
12년 전 | 949 | |
| 5968 | 12년 전 | 8741 | ||
| 5967 |
|
12년 전 | 16904 | |
| 5966 | 12년 전 | 1228 | ||
| 5965 | 12년 전 | 708 | ||
| 5964 | 12년 전 | 6247 | ||
| 5963 | 12년 전 | 705 | ||
| 5962 | 12년 전 | 885 | ||
| 5961 | 12년 전 | 636 | ||
| 5960 | 12년 전 | 787 | ||
| 5959 |
|
12년 전 | 1124 | |
| 5958 | 12년 전 | 979 | ||
| 5957 |
웹디자인되고파
|
12년 전 | 1091 | |
| 5956 | 12년 전 | 3658 | ||
| 5955 | 12년 전 | 2140 | ||
| 5954 | 12년 전 | 4399 | ||
| 5953 | 12년 전 | 3087 | ||
| 5952 | 12년 전 | 4267 | ||
| 5951 | 12년 전 | 2075 | ||
| 5950 | 12년 전 | 1277 | ||
| 5949 | 12년 전 | 931 | ||
| 5948 | 12년 전 | 2076 | ||
| 5947 | 12년 전 | 5001 | ||
| 5946 |
dsv421
|
12년 전 | 1274 | |
| 5945 |
dsv421
|
12년 전 | 4120 | |
| 5944 |
dsv421
|
12년 전 | 5645 | |
| 5943 | 12년 전 | 1284 | ||
| 5942 | 12년 전 | 2539 | ||
| 5941 |
프로프리랜서
|
12년 전 | 1644 | |
| 5940 |
atria
|
12년 전 | 614 | |
| 5939 | 12년 전 | 2340 | ||
| 5938 | 12년 전 | 2080 | ||
| 5937 |
프로프리랜서
|
12년 전 | 766 | |
| 5936 |
프로프리랜서
|
12년 전 | 713 | |
| 5935 |
프로프리랜서
|
12년 전 | 3215 | |
| 5934 |
프로프리랜서
|
12년 전 | 1630 | |
| 5933 |
AMDbest
|
12년 전 | 650 | |
| 5932 |
AMDbest
|
12년 전 | 502 | |
| 5931 | 12년 전 | 8141 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기