PHP 세션만료처리


php.ini에서 처리하지말고 공통 페이지에 코드를 추가하자


if (isset($_SESSION['LAST_GC_TIME']) && (time() - $_SESSION['LAST_GC_TIME'] > 1200)) {

    //1200은 20분

    session_unset();     

    session_destroy();   

SetCookie("","",-999,"/");

SetCookie("","",-999,"/");

}

$_SESSION['LAST_GC_TIME'] = time(); // 현재시간 업데이트 시켜주지

'Web > PHP' 카테고리의 다른 글

PHP세션 및 쿠키 만료 처리  (0) 2018.12.05
php 파일 다운로드 (pdf 파일 다운로드 예), php file download  (0) 2017.04.06
php foreach 반복문  (0) 2016.07.07

기본 프린트 코드는 아래와 같지만
window.print();


특정 레이어 프린트를 할 수 있는 플러그인이 있다. 


링크 
http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/

오페라를 찾지 못하는 버그가 있는 경우 아래 소스를 적용시켜주자
jquery.mb.browser.min.js
jquery.printElement.min.js



미리보기 창 없이 인쇄 
printElement({});

인쇄 후 미리보기 창이 사라짐
printElement({ printMode: 'popup' });

인쇄 후 미리보기 창이 남아있음
printElement({ leaveOpen: true, printMode: 'popup' });

CSS무시
printElement({ overrideElementCSS: true });

외부 CSS적용
printElement({ overrideElementCSS: ['http://xxxx.com/test.css'] })

$('#registered').click(function(){ $('#show').html('<div class=new></div>') });

<button id=registered type=button>

위 버튼을 클릭하여 아래 div show 에 new라는 div를 생성하는경우

<div id=show></div>

new 라는 div를 컨트롤하기 위해서는 아래 내용을 참조하자.



$('#registered').on('click', '.new', function() { console.log(this); });

.new 부분에 생성된 엘리멘트 아이디나 클래스를 명시하면된다.





 <script>

$(function(){

 $('#아이프레임아이디').load(function(){

  alert('로딩완료');

 });

});

</script>


참 쉽죠

animate CSS 

MIT 라이센스이며


예제사이트 : https://daneden.github.io/animate.css


많은 것들을 클래스 하나로 쉽게 사용가능하다.


커서위치에 글자(문자) 삽입하기

Insert script at cursor position

매게변수는 접근아이디, 텍스트


function insertAtCursor(areaId,text)

{

    var txtarea = document.getElementById(areaId);

    var scrollPos = txtarea.scrollTop;

    var strPos = 0;

    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?

        "ff" : (document.selection ? "ie" : false ) );

    if (br == "ie") {

        txtarea.focus();

        var range = document.selection.createRange();

        range.moveStart ('character', -txtarea.value.length);

        strPos = range.text.length;

    }

    else if (br == "ff") strPos = txtarea.selectionStart;

 

    var front = (txtarea.value).substring(0,strPos);

    var back = (txtarea.value).substring(strPos,txtarea.value.length);

    txtarea.value=front+text+back;

    strPos = strPos + text.length;

    if (br == "ie") {

        txtarea.focus();

        var range = document.selection.createRange();

        range.moveStart ('character', -txtarea.value.length);

        range.moveStart ('character', strPos);

        range.moveEnd ('character', 0);

        range.select();

    }

    else if (br == "ff") {

        txtarea.selectionStart = strPos;

        txtarea.selectionEnd = strPos;

        txtarea.focus();

    }

    txtarea.scrollTop = scrollPos;

}



php file download


<?

include"./system.php";





$dir = './duri/goods/pdf';

$filekeyname = $_GET['filekeyname'];

$fpath = $dir."/".$filekeyname;

$filename = preg_replace("/\s| /",'',$_GET['filename']).".pdf";

//echo $fpath;

//exit;



if (file_exists($fpath)) {

    header('Content-Description: File Transfer');

    header('Content-Type: application/octet-stream');

    header("Content-Type: application/force-download");

    header('Content-Disposition: attachment; filename=' . urlencode(basename($filename)));

    // header('Content-Transfer-Encoding: binary');

    header('Expires: 0');

    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

    header('Pragma: public');

    header('Content-Length: ' . filesize($fpath));

    ob_clean();

    flush();

    readfile($fpath);

    exit;

}


?>


'Web > PHP' 카테고리의 다른 글

PHP세션 및 쿠키 만료 처리  (0) 2018.12.05
php 파일 다운로드 (pdf 파일 다운로드 예), php file download  (0) 2017.04.06
php foreach 반복문  (0) 2016.07.07


 


<script type="text/javascript">

jQuery(function(){

    // 숫자 제외하고 모든 문자 삭제.

    $.fn.removeText = function(_v){

        //console.log("removeText: 숫자 제거 합니다.");

        if (typeof(_v)==="undefined")

        {

            $(this).each(function(){

                this.value = this.value.replace(/[^0-9]/g,'');

            });

        }

        else

        {

            return _v.replace(/[^0-9]/g,'');

        }

    };

     

    // php의 number_format과 같은 효과.

    $.fn.numberFormat = function(_v){

        this.proc = function(_v){

            var tmp = '',

                number = '',

                cutlen = 3,

                comma = ','

                i = 0,

                len = _v.length,

                mod = (len % cutlen),

                k = cutlen - mod;

                 

            for (i; i < len; i++)

            {

                number = number + _v.charAt(i);

                if (i < len - 1)

                {

                    k++;

                    if ((k % cutlen) == 0)

                    {

                        number = number + comma;

                        k = 0;

                    }

                }

            }

            return number;

        };

         

        var proc = this.proc;

        if (typeof(_v)==="undefined")

        {

            $(this).each(function(){

                this.value = proc($(this).removeText(this.value));

            });

        }

        else

        {

            return proc(_v);

        }

    };

    $.fn.onlyNumber = function (p) {

        $(this).each(function(i) {

            $(this).attr({'style':'text-align:left'});



             

            this.value = $(this).removeText(this.value);

            this.value = $(this).numberFormat(this.value);

             

            $(this).bind('keypress keyup',function(e){

                this.value = $(this).removeText(this.value);

                this.value = $(this).numberFormat(this.value);

            });

        });

    };

    $('.numberformat').onlyNumber();

});

</script>




1. 위 소스 추가

2. 콤마찍고싶은 input 클래스에 numberformat 추가

3. 콤마데이터 전송시 db 구성에 문제가 있을 수 있으니 submit 할때에 $('.numberformat').removeText(); 를 호출해주면 콤마를 삭제하고 데이터를 전송

4. 감사 댓글 달기

+ Recent posts

티스토리 툴바