반응형
function chan_page_cache($term)
{
// 페이지 실제 내용을 저장할때에도
// 이 함수를 호출하게 된다. 이때에는
// 가뿐히 무시해 준다.
if ( $_GET[chan_page_cache] == "true" )
return;
// 쿼리문이 같이 들어 오는것은 어떻게 처리 될지 알 수 없으므로
// 그냥 처리하게 한다.
if ( $_SERVER[QUERY_STRING] )
return;
$url = "http://".$_SERVER[SERVER_NAME].$_SERVER[PHP_SELF];
$filename = $_SERVER[DOCUMENT_ROOT].$_SERVER[PHP_SELF];
$filename_ch = $_SERVER[DOCUMENT_ROOT].$_SERVER[PHP_SELF].".ch";
// 내용 저장하는 화일 없으면 만들기
if ( !file_exists($filename_ch ) ) {
fclose( fopen($filename_ch, "w") );
}
// 최근에 저장된 시간 읽어 오기
$mtime = filemtime($filename_ch);
// 정해진 시간이 지났으므로 저장을 하자~
if ( $mtime <= time() - $term )
{
$fp = fopen($filename_ch,"w");
// chan_page_cache 값을 넘기므로 해서.. 다시 이쪽으로 들어오지 않고
// 원래 수행 되어야 할 부분이 수행 되도록 처리를 하자.
// 이 값이 true 로 설정 되어 있으면 이 함수의 상단에서 바로
// 리턴하여 원래 수행하여야할 부분을 수행하게 한다.
$cache_url = $url."?chan_page_cache=true";
$fp2 = fopen($cache_url,"r");
while ( !feof($fp2) )
{
$cont = fread($fp2,2048);
fwrite($fp,$cont);
}
fclose($fp);
fclose($fp2);
}
// 저장한 내용을 뿌려 주자.
$fp = fopen($filename.".ch","r");
echo "<!-- cache time : ".date("Y/m/d H:i:s", $mtime). " -->
";
if (!fpassthru($fp))
fclose($fp);
fflush();
exit;
}
{
// 페이지 실제 내용을 저장할때에도
// 이 함수를 호출하게 된다. 이때에는
// 가뿐히 무시해 준다.
if ( $_GET[chan_page_cache] == "true" )
return;
// 쿼리문이 같이 들어 오는것은 어떻게 처리 될지 알 수 없으므로
// 그냥 처리하게 한다.
if ( $_SERVER[QUERY_STRING] )
return;
$url = "http://".$_SERVER[SERVER_NAME].$_SERVER[PHP_SELF];
$filename = $_SERVER[DOCUMENT_ROOT].$_SERVER[PHP_SELF];
$filename_ch = $_SERVER[DOCUMENT_ROOT].$_SERVER[PHP_SELF].".ch";
// 내용 저장하는 화일 없으면 만들기
if ( !file_exists($filename_ch ) ) {
fclose( fopen($filename_ch, "w") );
}
// 최근에 저장된 시간 읽어 오기
$mtime = filemtime($filename_ch);
// 정해진 시간이 지났으므로 저장을 하자~
if ( $mtime <= time() - $term )
{
$fp = fopen($filename_ch,"w");
// chan_page_cache 값을 넘기므로 해서.. 다시 이쪽으로 들어오지 않고
// 원래 수행 되어야 할 부분이 수행 되도록 처리를 하자.
// 이 값이 true 로 설정 되어 있으면 이 함수의 상단에서 바로
// 리턴하여 원래 수행하여야할 부분을 수행하게 한다.
$cache_url = $url."?chan_page_cache=true";
$fp2 = fopen($cache_url,"r");
while ( !feof($fp2) )
{
$cont = fread($fp2,2048);
fwrite($fp,$cont);
}
fclose($fp);
fclose($fp2);
}
// 저장한 내용을 뿌려 주자.
$fp = fopen($filename.".ch","r");
echo "<!-- cache time : ".date("Y/m/d H:i:s", $mtime). " -->
";
if (!fpassthru($fp))
fclose($fp);
fflush();
exit;
}
반응형
'공부 > 컴퓨터' 카테고리의 다른 글
[용어정리] XML (0) | 2005.05.02 |
---|---|
[용어정리] p2p (0) | 2005.05.02 |
MD5, SHA-1 암호화 깨지다! (0) | 2005.04.03 |
BMP 화일 처리하기.. (0) | 2005.03.29 |
제어판 막기 (0) | 2005.03.28 |