data/session 파일중 오래된 것들 삭제하기 > 그누보드5 팁자료실

그누보드5 팁자료실

data/session 파일중 오래된 것들 삭제하기 정보

data/session 파일중 오래된 것들 삭제하기

첨부파일

ar_delete_session.php (1.5K) 28회 다운로드 2018-02-03 12:43:07

본문

세션파일이 보통은 삭제되지만 서버 설정에 따라 오랫동안 삭제안되는경우도 있습니다.

서버를 운영하시는 분은 다음 파일을 php 로 실행하거나

웹호스팅하면 자기 폴더만 지정하시면 되겠네요.

 

<?php
/* 작성 : howcode.co.kr 김성대 2018-02-03 */
/* 마음대로 퍼가도 됩니다. */
set_time_limit(0);
ini_set('max_execution_time', 300000); 
ini_set('mysql.connect_timeout', 90000);
ini_set('mysql.connect_timeout', 90000);
date_default_timezone_set('Asia/Seoul');
if (!isset($config)) $config=array();
$config['show']=false;
//$config['show']=true;

ar_check_dir("/home");
ar_check_dir("/home2");

function ar_check_dir($path) {
        global $config;
        $handle = @opendir($path);
        if (!$handle) return;
        //if ($config['show']) echo "path:({$config['ar_count_path']}) $path\n";
        if (strstr($path,'/data/session')) {
            if ($config['show']) echo "$path\n";
        }

        while ($file = readdir($handle))
        {
                $filename=$path.'/'.$file;
                if($file == "."||$file == "..") continue;
                if (is_dir($filename)) {
                        ar_check_dir($filename);
                }
                else if (strstr($path,'/data/session')&&strstr($file,'sess_')) {
                        ar_check_file($filename);
                }
        }
        closedir($handle);
}


function ar_check_file($filename) {
    global $config;
    if (strstr($filename,'.php')) {
            echo "ERROR : in .php $filename\n";
            return;
    }
    if (!strstr($filename,'sess_')) return;
    $t=filemtime($filename);
    if ($t<time()-24*3600) {
            if ($config['show']) echo "delete $filename ",date("Y-m-d H:i:s",$t),"\n";
            @unlink($filename);
    }
}
 

추천
5
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로