안드로이드 상태바 없애기 (시계, 알림 아이콘 부분)

프로그래밍/Android (Java)|2020. 7. 24. 09:42
반응형
안드로이드 상태바를 없애 화면을 좀 더 넓어 보이게 할 수 있습니다.

// 상태바 없애기 (안드로이드 상단 시간, 알림 아이콘 부분)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_main); // 이것 전에 사용해야 함




반응형

댓글()

마우스 오버 이미지 미리보기 (썸네일 확인)

반응형

동적으로 이미지 리스트를 생성 할때 on을 사용하여 이미지 확대 하는 소스 입니다.

body 에 p 태그를 선언하고 해당 테그 안에 이미지를 넣어 보여주는 소스 입니다.


<html>

    <head>

        <title>Test</title>

        <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>

        <script type="text/javascript">

            $(document).ready(function() {

                 

                var xOffset = 10;

                var yOffset = 30;


                $(document).on("mouseover",".thumbnail",function(e){ //마우스 오버시

$("body").append("<p id='preview'><img src='"+ $(this).attr("src") +"' width='400px' /></p>"); //보여줄 이미지를 선언  

$("#preview")

.css("top",(e.pageY - xOffset) + "px")

.css("left",(e.pageX + yOffset) + "px")

.fadeIn("fast"); //미리보기 화면 설정 셋팅

});

$(document).on("mousemove",".thumbnail",function(e){ //마우스 이동시

$("#preview")

.css("top",(e.pageY - xOffset) + "px")

.css("left",(e.pageX + yOffset) + "px");

});

$(document).on("mouseout",".thumbnail",function(){ //마우스 아웃시

$("#preview").remove();

});

                 

            });

        </script>

            

<style>

/* 미리보기 스타일 셋팅 */

#preview{

z-index: 9999;

position:absolute;

border:0px solid #ccc;

background:#333;

padding:1px;

display:none;

color:#fff;

}

</style>

    </head>

     

    <body>

        <img src="https://www.gstatic.com/webp/gallery/1.sm.jpg" class="thumbnail" height='50px' />

    </body>

</html>


[미리보기]

참고: http://cssglobe.com/easiest-tooltip-and-image-preview-using-jquery/



[출처] https://huskdoll.tistory.com/m/292?category=559073

반응형

댓글()

날짜와 시간 비교 후 페이지 로딩 중지하기

프로그래밍/PHP|2020. 7. 20. 14:28
반응형

<?

$diff_snap = strtotime("2020-07-20 10:20:30");

$diff_now = strtotime(date("Y-m-d H:i:s"));

$diff = $diff_now - $diff_snap;


if ($diff >= 600) { // 10분 이상 차이 날 경우 페이지 종료 (이하 코드 실행 안함)

        echo "받은 시간" . $diff_snap . "<br>";

        echo "현재 시간" . $diff_now . "<br>";

        echo "차이는 " . $diff . " 초 입니다.";

        exit();

}

?>



반응형

댓글()

jQuery 한글/영어 byte 체크해서 자르기

반응형

[출처] https://dev.uhoon.co.kr/entry/jQuery-한글영어-byte-체크해서-자르기 [Dev 저장소]

[원문] http://blog.naver.com/yesdouble/130152964039



test.html


<!DOCTYPE html>

<html>
<head>
    <title>한글/영어 byte 체크해서 자르기</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body >
<script type="text/javascript">
    $(function () {
        $('.remaining').each(function () {
            // count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
            var $maxcount = $('.maxcount', this);
            var $count = $('.count', this);
            var $input = $("#contents");
 
            // .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
            var maximumByte = $maxcount.text() * 1;
            // update 함수는 keyup, paste, input 이벤트에서 호출한다.
            var update = function () {
                var before = $count.text() * 1;
                var str_len = $input.val().length;
                var cbyte = 0;
                var li_len = 0;
                for (i = 0; i < str_len; i++) {
                    var ls_one_char = $input.val().charAt(i);
                    if (escape(ls_one_char).length > 4) {
                        cbyte += 2; //한글이면 2를 더한다
                    } else {
                        cbyte++; //한글아니면 1을 다한다
                    }
                    if (cbyte <= maximumByte) {
                        li_len = i + 1;
                    }
                }
                // 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
                if (parseInt(cbyte) > parseInt(maximumByte)) {
                    alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
                    var str = $input.val();
                    var str2 = $input.val().substr(0, li_len);
                    $input.val(str2);
                    var cbyte = 0;
                    for (i = 0; i < $input.val().length; i++) {
                        var ls_one_char = $input.val().charAt(i);
                        if (escape(ls_one_char).length > 4) {
                            cbyte += 2; //한글이면 2를 더한다
                        } else {
                            cbyte++; //한글아니면 1을 다한다
                        }
                    }
                }
                $count.text(cbyte);
            };
            // input, keyup, paste 이벤트와 update 함수를 바인드한다
            $input.bind('input keyup keydown paste change', function () {
                setTimeout(update, 0)
            });
            update();
        });
    });
</script>
<div>
<textarea rows="5" cols="50" id="contents"/></textarea>
</div>
<span class="remaining">
    <span class="count">0</span>/<span class="maxcount">80</span>byte(한글 40자, 영어 80자)
</span>
</body>
</html> 



반응형

댓글()

MySQL 3개 테이블 조인 SAMPLE

프로그래밍/PHP|2020. 7. 10. 13:31
반응형

SELECT * FROM Country

    JOIN CountryLanguage ON Country.Code=CountryLanguage.CountryCode

    JOIN City ON Country.Code=City.CountryCode

 

[출처] blog.naver.com/my0biho/220411576884

반응형

댓글()

페이지 로딩 완료 후 alert 출력하기

반응형

아래 1번 코드를 문서의 아무 곳에나 넣어도 동작합니다.

그러나 브라우저나 PC 에 따라 소스가 잘 동작하지 않는 경우

2번 예제로 지연 출력을 시키는 방법도 있습니다.



1번


<script>

    window.onload = function() {

        alert("로딩이 완료 되었습니다.") ;

   };

</script>



2번


<script>

            window.setTimeout(function(){

                alert("로딩이 완료 되었습니다.");

            }, 200);  // 0.2 초 지연 후 출력

</script>


반응형

댓글()

파일 사이즈 출력 및 단위 자동 변경

프로그래밍/PHP|2020. 7. 3. 10:38
반응형

// 대상 파일 크기 확인

$file_size = filesize ("files/test.zip");


// 파일 크기에 따른 단위 변경

if($file_size < 1024) {

    $file_size = number_format($file_size * 1.024) . ' B';

} else if ($file_size > 1024 && $file_size < 1024000) {

    $file_size = number_format($file_size * 0.001024) . ' KB';

} else if ($file_size > 1024000) {

    $file_size = number_format($file_size * 0.000001024) . ' MB';

}


// 파일 크기 출력

echo $file_size;



반응형

댓글()

input 찾아보기 스타일 변경 (두가지 스타일 예제)

반응형

아래 소스코드로 파일을 만들어 실행해보면 확인할 수 있습니다.

소스는 크게 CSS, HTML, JavaScript 부분으로 나뉩니다.


[ 첫번째 스타일 ]


이것은 클릭 또는 드래그&드롭 기능을 제공합니다.


test.html


<style type="text/css">

input[type="file"] {

  position: absolute;

  left: 0;

  opacity: 0;

  top: 0;

  bottom: 0;

  width: 100%;

}


div {

  position: absolute;

  top: 0;

  bottom: 0;

  width: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  background: #ccc;

  border: 3px dotted #bebebe;

  border-radius: 10px;

}


label {

  display: inline-block;

  position: relative;

  height: 100px;

  width: 400px;

}


div.dragover {

  background-color: #aaa;

}

</style>



<label for="test">

  <div>Click or drop something here</div>

  <input type="file" id="test">

</label>

<p id="filename"></p>



<script>

var fileInput = document.querySelector('input[type=file]');

var filenameContainer = document.querySelector('#filename');

var dropzone = document.querySelector('div');


fileInput.addEventListener('change', function() {

filenameContainer.innerText = fileInput.value.split('\\').pop();

});


fileInput.addEventListener('dragenter', function() {

dropzone.classList.add('dragover');

});


fileInput.addEventListener('dragleave', function() {

dropzone.classList.remove('dragover');

});

</script> 


[출처] https://jsfiddle.net/t7w1sovq/



[ 두번째 스타일 ]


이것은 Jquery 까지 사용합니다.


test2.html


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>


<style type="text/css">

body {

    background-color:Black;

}


div.upload {

    background-color:#fff;

    border: 1px solid #ddd;

    border-radius:5px;

    display:inline-block;

    height: 30px;

    padding:3px 40px 3px 3px;

    position:relative;

    width: auto;

}


div.upload:hover {

    opacity:0.95;

}


div.upload input[type="file"] {

    display: input-block;

    width: 100%;

    height: 30px;

    opacity: 0;

    cursor:pointer;

    position:absolute;

    left:0;

}

.uploadButton {

    background-color: #425F9C;

    border: none;

    border-radius: 3px;

    color: #FFF;

    cursor:pointer;

    display: inline-block;

    height: 30px;

    margin-right:15px;

    width: auto;

    padding:0 20px;

    box-sizing: content-box;

}


.fileName {

    font-family: Arial;

    font-size:14px;

}


.upload + .uploadButton {

    height:38px;

}

</style>



<form action="" method="post" enctype="multipart/form-data">

    <div class="upload">

        <input type="button" class="uploadButton" value="Browse" />

        <input type="file" name="upload" accept="image/*" id="fileUpload" />

        <span class="fileName">Select file..</span>

    </div>

    <input type="button" class="uploadButton" value="Upload File" />

</form>



<script>

$('input[type=file]').change(function(e) {

    $in = $(this);

    $in.next().html($in.val());

    

});


$('.uploadButton').click(function() {

    var fileName = $("#fileUpload").val();

    if (fileName) {

        alert(fileName + " can be uploaded.");

    }

    else {

        alert("Please select a file to upload");

    }

});

</script> 


[출처] http://jsfiddle.net/umhva747/



반응형

댓글()

iframe 높이 꽉차게 하기

반응형

간혹 iframe 을 사용하면 가로는 100% 가 되지 만 높이가 100% 로 되지 않는 경우가 있습니다.

이 경우 아래와 같이 vh 단위로 변경하여 적용해주면 됩니다.

주의 할것은 가로 길이는 그대로 100% 를 유지해주세요.


<iframe src="notice.php" frameborder="0" style="display:block; width:100%; height: 100vh"></iframe>



반응형

댓글()

PDO 를 이용해 html 코드를 MySQL 로 입력하기

프로그래밍/PHP|2020. 7. 2. 10:17
반응형

PDO 를 사용하면 html 코드를 쉽게 DB 에 insert 할 수 있습니다.


최근 나오는 PHP 버전의 대부분은 PDO 사용이 가능 하므로

아래 예제가 통하지 않을 경우에만 버전 또는 모듈 사용이 가능한지 체크해보세요.


<form> 태그로 넘겨받은 페이지에서 DB 로 insert 하는 방법 입니다.



insert.php 파일로 입력


<?

$register_time = date("Y-m-d H:i:s");


$mysql_hostname = '127.0.0.1';

$mysql_username = 'sysdocu';

$mysql_password = '12345678';

$mysql_database = 'sysdocu';

$mysql_port = '3306';

$mysql_charset = 'utf8';

$dsn = 'mysql:host='.$mysql_hostname.';dbname='.$mysql_database.';port='.$mysql_port.';charset='.$mysql_charset;

try{

    $pdo = new PDO($dsn, $mysql_username, $mysql_password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo 'Connect failed : ' . $e->getMessage() . '';

}


$sql = "INSERT INTO notice (title, body, attach, register_time) VALUES (:title, :content, :attach, :register_time)";

$stmh = $pdo->prepare($sql);

$stmh->bindValue(':title', $_POST['title']);

$stmh->bindValue(':content', $_POST['content']);

$stmh->bindValue(':attach', $_POST['attach']);

$stmh->bindValue(':register_time', $register_time);

$stmh->execute();

?>



이후 데이터를 불러올 때는 아래와 같이 echo 로 출력하면 됩니다.


echo $row['content'];




반응형

댓글()

CLI 에서 curl 명령어로 파일 보내고 php 에서 받기

프로그래밍/PHP|2020. 6. 30. 14:27
반응형

CLI 에서 curl 로 파일 보내는 방법은 아래와 같습니다.


1. curl 로 파일 전송


# curl -F "file=@/home/sysdocu/profile.png" https://sysdocu.tistory.com/upload.php



2. php 로 수신


upload.php


<?php

$uploaddir = "/var/www/html/tmp/"; // 해당 디렉토리는 업로드 권한이 있어야 함

$uploadfile = $uploaddir . basename($_FILES['file']['name']);


if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {

    echo "업로드 성공\n";

} else {

    echo "업로드 실패\n";

}


echo "결과 보기<br>";

print_r($_FILES);

?> 


* 주의 : 보내고 받는 변수명이 동일해야 합니다. (위에서는 file 사용)



반응형

댓글()