이미지 비율 계산기 - Aspect Ratio Calculator


웹사이트 또는 블로그를 운영하면서 알아두면 유용한 사이트를 소개하겠습니다.

이미지를 편집하다보면 늘리거나 줄여야하는 경우가 있는데요. 비율대로 줄여지면 좋겠지만 간혹 직접 입력해야하는 경우가 생깁니다.

그로 인해서 계산기를 쓴다고해도 저의 머리로는 한계가 있어서 저는 아래 사이트에 가서 가로 세로만 넣어주면 계산이 되는 사이트를 이용하고 있습니다.



https://andrew.hedges.name/experiments/aspect_ratio/


W1 에 가로폭을 입력해주시고 H1에 세로폭을 입력하신 후 가로 계산을 하고 싶으신 경우는 W2에 원하는 가로폭을 입력해주시면 H2가 자동으로 계속이 되고

H2에 원하는 세로폭을 입력해주시면 W2에 자동으로 가로폭이 입력됩니다.


Common ratios 를 이용하여 비율에 맞춰서 계산할 수도 있습니다.

Round results to the nearest whole number 체크를 풀게 되면 소수점까지 출력되니 참고하시기 바랍니다.




conv_subject


string conv_subject($subject, $len, $suffix='')

제목을 자르고 자른 제목 뒤에 문자를 더한다.


경로

lib/common.lib.php


인수

string $subject

제목 또는 문자열

int $len

자르려는 문자수

string $suffix

추가 문자열


예제

// 예제
$subject = '이것은 제목 입니다.';
$len = 3;
$suffix = '*';

var_dump(conv_subject($subject, $len, $suffix));

// string(10) "이것은*"



'개발자 인생 > 그누보드5' 카테고리의 다른 글

conv_content  (0) 2018.08.02
search_font  (0) 2018.07.25
get_view  (0) 2018.07.22
get_list  (0) 2018.07.20
get_dirsize  (0) 2018.07.19

search_font


string search_font($stx, $str)

set_search_font(), get_search_font() 함수를 search_font() 함수로 대체

검색된 키워드의 색상을 변경한다.


경로

lib/common.lib.php


인수

string $stx

키워드


string $str

치환 문자열


예제

// 예제

$stx = '검색어';
$str = '검색어입니다.';

var_dump(search_font($stx, $str));

// string(43) "검색어입니다."



'개발자 인생 > 그누보드5' 카테고리의 다른 글

conv_content  (0) 2018.08.02
conv_subject  (0) 2018.08.01
get_view  (0) 2018.07.22
get_list  (0) 2018.07.20
get_dirsize  (0) 2018.07.19

mysql root 패스워드 분실시 초기화


서버를 운영하거나 다른 회사에서 의뢰가 들어오는 경우 root 비밀번호를 모를 경우가 많다. 
그래서 root 비밀번호를 초기화 해야하는데 우선 원격 root를 알고 있거나 sudoers 에 계정이 등록된 경우에 한에서 해결 가능하다.


우선 mysql daemon 종료

# /sbin/service mysqld stop 
or
$ sudo /sbin/service mysqld stop


mysql_safe 실행

# /usr/bin/mysqld_safe --skip-grant &
or
$ sudo /usr/bin/mysqld_safe --skip-grant &


mysql 접속

# /usr/bin/mysql -u root mysql
or
$ sudo /usr/bin/mysql -u root mysql


sql문으로 root 비밀번호 변경

mysql> update user set password=password('NEW-PASSWORD') where user='root';


권한이 변경하고 mysql에 즉시 적용

mysql> flush privileges;


mysql을 종료

mysql> quit


mysql daemon 실행

# /sbin/service mysqld start
or
$ sudo /sbin/service mysqld start


get_view


array get_view($write_row, $board, $skin_url)

get_list 의 alias(가명)


경로

lib/common.lib.php


인수

array $write_row

게시글의 배열 정보


array $board

게시판의 배열 정보


string $skin_url

게시판 스킨 URL


예제

// 예제
$board = sql_fetch("select * from {$g5['board_table']} where bo_table = 'notice'");
$row = sql_fetch("select * from {$g5['write_prefix']}notice where wr_id = 1 ");
echo '
';
var_dump($row);

/*
array(39) {
  ["wr_id"]=>
  string(1) "1"
  ["wr_num"]=>
  string(2) "-1"
  ["wr_reply"]=>
  string(0) ""
  ["wr_parent"]=>
  string(1) "1"
  ["wr_is_comment"]=>
  string(1) "0"
  ["wr_comment"]=>
  string(1) "0"
  ["wr_comment_reply"]=>
  string(0) ""
  ["ca_name"]=>
  string(0) ""
  ["wr_option"]=>
  string(0) ""
  ["wr_subject"]=>
  string(12) "공지사항"
  ["wr_content"]=>
  string(12) "공지사항"
  ["wr_link1"]=>
  string(0) ""
  ["wr_link2"]=>
  string(0) ""
  ["wr_link1_hit"]=>
  string(1) "0"
  ["wr_link2_hit"]=>
  string(1) "0"
  ["wr_hit"]=>
  string(1) "4"
  ["wr_good"]=>
  string(1) "0"
  ["wr_nogood"]=>
  string(1) "0"
  ["mb_id"]=>
  string(13) "administrator"
  ["wr_password"]=>
  string(41) "*4ACFE3202A5FF5CF467898FC58AAB1D615029441"
  ["wr_name"]=>
  string(15) "최고관리자"
  ["wr_email"]=>
  string(16) "admin@domain.com"
  ["wr_homepage"]=>
  string(0) ""
  ["wr_datetime"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_file"]=>
  string(1) "2"
  ["wr_last"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_ip"]=>
  string(14) "218.238.166.78"
  ["wr_facebook_user"]=>
  string(0) ""
  ["wr_twitter_user"]=>
  string(0) ""
  ["wr_1"]=>
  string(0) ""
  ["wr_2"]=>
  string(0) ""
  ["wr_3"]=>
  string(0) ""
  ["wr_4"]=>
  string(0) ""
  ["wr_5"]=>
  string(0) ""
  ["wr_6"]=>
  string(0) ""
  ["wr_7"]=>
  string(0) ""
  ["wr_8"]=>
  string(0) ""
  ["wr_9"]=>
  string(0) ""
  ["wr_10"]=>
  string(0) ""
}
*/

$row = get_view($row, $board, G5_THEME_URL . '/skin/board/' . $board['skin_dir']);
var_dump($row);

echo '
'; /* array(61) { ["wr_id"]=> string(1) "1" ["wr_num"]=> string(2) "-1" ["wr_reply"]=> string(0) "" ["wr_parent"]=> string(1) "1" ["wr_is_comment"]=> string(1) "0" ["wr_comment"]=> string(1) "0" ["wr_comment_reply"]=> string(0) "" ["ca_name"]=> string(0) "" ["wr_option"]=> string(0) "" ["wr_subject"]=> string(12) "공지사항" ["wr_content"]=> string(12) "공지사항" ["wr_link1"]=> string(0) "" ["wr_link2"]=> string(0) "" ["wr_link1_hit"]=> string(1) "0" ["wr_link2_hit"]=> string(1) "0" ["wr_hit"]=> string(2) "19" ["wr_good"]=> string(1) "0" ["wr_nogood"]=> string(1) "0" ["mb_id"]=> string(13) "administrator" ["wr_password"]=> string(41) "*4ACFE3202A5FF5CF467898FC58AAB1D615029441" ["wr_name"]=> string(15) "최고관리자" ["wr_email"]=> string(16) "admin@domain.com" ["wr_homepage"]=> string(0) "" ["wr_datetime"]=> string(19) "2018-07-18 23:49:31" ["wr_file"]=> string(1) "2" ["wr_last"]=> string(19) "2018-07-18 23:49:31" ["wr_ip"]=> string(14) "218.238.166.78" ["wr_facebook_user"]=> string(0) "" ["wr_twitter_user"]=> string(0) "" ["wr_1"]=> string(0) "" ["wr_2"]=> string(0) "" ["wr_3"]=> string(0) "" ["wr_4"]=> string(0) "" ["wr_5"]=> string(0) "" ["wr_6"]=> string(0) "" ["wr_7"]=> string(0) "" ["wr_8"]=> string(0) "" ["wr_9"]=> string(0) "" ["wr_10"]=> string(0) "" ["is_notice"]=> bool(false) ["subject"]=> string(12) "공지사항" ["comment_cnt"]=> string(0) "" ["datetime"]=> string(10) "2018-07-18" ["datetime2"]=> string(5) "07-18" ["last"]=> string(10) "2018-07-18" ["last2"]=> string(5) "07-18" ["name"]=> string(46) "최고관리자" ["reply"]=> int(0) ["icon_reply"]=> string(0) "" ["icon_link"]=> string(0) "" ["ca_name_href"]=> string(67) "http://sample.withstep.co.kr/bbs/board.php?bo_table=notice&sca=" ["href"]=> string(70) "http://sample.withstep.co.kr/bbs/board.php?bo_table=notice&wr_id=1" ["comment_href"]=> string(70) "http://sample.withstep.co.kr/bbs/board.php?bo_table=notice&wr_id=1" ["icon_new"]=> string(0) "" ["icon_hot"]=> string(0) "" ["icon_secret"]=> string(0) "" ["link"]=> array(2) { [1]=> NULL [2]=> NULL } ["link_href"]=> array(2) { [1]=> string(78) "http://sample.withstep.co.kr/bbs/link.php?bo_table=notice&wr_id=1&no=1" [2]=> string(78) "http://sample.withstep.co.kr/bbs/link.php?bo_table=notice&wr_id=1&no=2" } ["link_hit"]=> array(2) { [1]=> int(0) [2]=> int(0) } ["file"]=> array(3) { ["count"]=> int(2) [0]=> array(13) { ["href"]=> string(82) "http://sample.withstep.co.kr/bbs/download.php?bo_table=notice&wr_id=1&no=0" ["download"]=> string(1) "0" ["path"]=> string(45) "http://sample.withstep.co.kr/data/file/notice" ["size"]=> string(4) "1.7M" ["datetime"]=> string(19) "2018-07-18 23:49:31" ["source"]=> string(12) "IMG_0639.jpg" ["bf_content"]=> string(0) "" ["content"]=> string(0) "" ["view"]=> string(341) "" ["file"]=> string(64) "3673073230_9nX8kCtg_593abcd5fd82dd8c576d23e5cc83ca0ab8d46a7a.jpg" ["image_width"]=> string(4) "2448" ["image_height"]=> string(4) "3264" ["image_type"]=> string(1) "2" } [1]=> array(13) { ["href"]=> string(82) "http://sample.withstep.co.kr/bbs/download.php?bo_table=notice&wr_id=1&no=1" ["download"]=> string(1) "0" ["path"]=> string(45) "http://sample.withstep.co.kr/data/file/notice" ["size"]=> string(4) "3.0M" ["datetime"]=> string(19) "2018-07-18 23:49:31" ["source"]=> string(12) "IMG_0640.jpg" ["bf_content"]=> string(0) "" ["content"]=> string(0) "" ["view"]=> string(341) "" ["file"]=> string(64) "3673073230_SxIBeMJW_593abcd5fd82dd8c576d23e5cc83ca0ab8d46a7a.jpg" ["image_width"]=> string(4) "2448" ["image_height"]=> string(4) "3264" ["image_type"]=> string(1) "2" } } ["icon_file"]=> string(101) "첨부파일" } */



'개발자 인생 > 그누보드5' 카테고리의 다른 글

conv_subject  (0) 2018.08.01
search_font  (0) 2018.07.25
get_list  (0) 2018.07.20
get_dirsize  (0) 2018.07.19
get_file  (0) 2018.07.18

get_list


array get_list($write_row, $board, $skin_url, $subject_len=40)

게시물 정보($write_row)를 출력하기 위하여 $list로 가공된 정보를 복사 및 가공


경로

lib/common.lib.php


인수

array $write_row

게시글 정보 배열로 입력


array $board

게시판 정보 배열로 입력


string $skin_url

게시판 스킨 URL


int $subject_len

게시글 제목 절삭 길이


예제

// 예제

$board = sql_fetch("select * from {$g5['board_table']} where bo_table = 'notice'");
$row = sql_fetch("select * from {$g5['write_prefix']}notice where wr_id = 1 ");

var_dump($row);

/*
array(39) {
  ["wr_id"]=>
  string(1) "1"
  ["wr_num"]=>
  string(2) "-1"
  ["wr_reply"]=>
  string(0) ""
  ["wr_parent"]=>
  string(1) "1"
  ["wr_is_comment"]=>
  string(1) "0"
  ["wr_comment"]=>
  string(1) "0"
  ["wr_comment_reply"]=>
  string(0) ""
  ["ca_name"]=>
  string(0) ""
  ["wr_option"]=>
  string(0) ""
  ["wr_subject"]=>
  string(12) "공지사항"
  ["wr_content"]=>
  string(12) "공지사항"
  ["wr_link1"]=>
  string(0) ""
  ["wr_link2"]=>
  string(0) ""
  ["wr_link1_hit"]=>
  string(1) "0"
  ["wr_link2_hit"]=>
  string(1) "0"
  ["wr_hit"]=>
  string(1) "4"
  ["wr_good"]=>
  string(1) "0"
  ["wr_nogood"]=>
  string(1) "0"
  ["mb_id"]=>
  string(13) "administrator"
  ["wr_password"]=>
  string(41) "*4ACFE3202A5FF5CF467898FC58AAB1D615029441"
  ["wr_name"]=>
  string(15) "최고관리자"
  ["wr_email"]=>
  string(16) "admin@domain.com"
  ["wr_homepage"]=>
  string(0) ""
  ["wr_datetime"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_file"]=>
  string(1) "2"
  ["wr_last"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_ip"]=>
  string(14) "218.238.166.78"
  ["wr_facebook_user"]=>
  string(0) ""
  ["wr_twitter_user"]=>
  string(0) ""
  ["wr_1"]=>
  string(0) ""
  ["wr_2"]=>
  string(0) ""
  ["wr_3"]=>
  string(0) ""
  ["wr_4"]=>
  string(0) ""
  ["wr_5"]=>
  string(0) ""
  ["wr_6"]=>
  string(0) ""
  ["wr_7"]=>
  string(0) ""
  ["wr_8"]=>
  string(0) ""
  ["wr_9"]=>
  string(0) ""
  ["wr_10"]=>
  string(0) ""
}
*/


$row = get_list($row);
var_dump($row);


/*
array(61) {
  ["wr_id"]=>
  string(1) "1"
  ["wr_num"]=>
  string(2) "-1"
  ["wr_reply"]=>
  string(0) ""
  ["wr_parent"]=>
  string(1) "1"
  ["wr_is_comment"]=>
  string(1) "0"
  ["wr_comment"]=>
  string(1) "0"
  ["wr_comment_reply"]=>
  string(0) ""
  ["ca_name"]=>
  string(0) ""
  ["wr_option"]=>
  string(0) ""
  ["wr_subject"]=>
  string(12) "공지사항"
  ["wr_content"]=>
  string(12) "공지사항"
  ["wr_link1"]=>
  string(0) ""
  ["wr_link2"]=>
  string(0) ""
  ["wr_link1_hit"]=>
  string(1) "0"
  ["wr_link2_hit"]=>
  string(1) "0"
  ["wr_hit"]=>
  string(1) "4"
  ["wr_good"]=>
  string(1) "0"
  ["wr_nogood"]=>
  string(1) "0"
  ["mb_id"]=>
  string(13) "administrator"
  ["wr_password"]=>
  string(41) "*4ACFE3202A5FF5CF467898FC58AAB1D615029441"
  ["wr_name"]=>
  string(15) "최고관리자"
  ["wr_email"]=>
  string(16) "admin@domain.com"
  ["wr_homepage"]=>
  string(0) ""
  ["wr_datetime"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_file"]=>
  string(1) "2"
  ["wr_last"]=>
  string(19) "2018-07-18 23:49:31"
  ["wr_ip"]=>
  string(14) "218.238.166.78"
  ["wr_facebook_user"]=>
  string(0) ""
  ["wr_twitter_user"]=>
  string(0) ""
  ["wr_1"]=>
  string(0) ""
  ["wr_2"]=>
  string(0) ""
  ["wr_3"]=>
  string(0) ""
  ["wr_4"]=>
  string(0) ""
  ["wr_5"]=>
  string(0) ""
  ["wr_6"]=>
  string(0) ""
  ["wr_7"]=>
  string(0) ""
  ["wr_8"]=>
  string(0) ""
  ["wr_9"]=>
  string(0) ""
  ["wr_10"]=>
  string(0) ""
  
  // 추가 가공 영역
  
  ["is_notice"]=>
  bool(false)
  ["subject"]=>
  string(12) "공지사항"
  ["comment_cnt"]=>
  string(0) ""
  ["datetime"]=>
  string(10) "2018-07-18"
  ["datetime2"]=>
  string(5) "07-18"
  ["last"]=>
  string(10) "2018-07-18"
  ["last2"]=>
  string(5) "07-18"
  ["name"]=>
  string(46) "최고관리자"
  ["reply"]=>
  int(0)
  ["icon_reply"]=>
  string(0) ""
  ["icon_link"]=>
  string(0) ""
  ["ca_name_href"]=>
  string(61) "http://sample.withstep.co.kr/bbs/board.php?bo_table=&sca="
  ["href"]=>
  string(64) "http://sample.withstep.co.kr/bbs/board.php?bo_table=&wr_id=1"
  ["comment_href"]=>
  string(64) "http://sample.withstep.co.kr/bbs/board.php?bo_table=&wr_id=1"
  ["icon_new"]=>
  string(0) ""
  ["icon_hot"]=>
  string(0) ""
  ["icon_secret"]=>
  string(0) ""
  ["link"]=>
  array(2) {
    [1]=>
    NULL
    [2]=>
    NULL
  }
  ["link_href"]=>
  array(2) {
    [1]=>
    string(72) "http://sample.withstep.co.kr/bbs/link.php?bo_table=&wr_id=1&no=1"
    [2]=>
    string(72) "http://sample.withstep.co.kr/bbs/link.php?bo_table=&wr_id=1&no=2"
  }
  ["link_hit"]=>
  array(2) {
    [1]=>
    int(0)
    [2]=>
    int(0)
  }
  ["file"]=>
  array(1) {
    ["count"]=>
    string(1) "2"
  }
  ["icon_file"]=>
  string(49) "첨부파일"
}
*/



'개발자 인생 > 그누보드5' 카테고리의 다른 글

search_font  (0) 2018.07.25
get_view  (0) 2018.07.22
get_dirsize  (0) 2018.07.19
get_file  (0) 2018.07.18
get_filesize  (0) 2018.07.18

함수명


int get_dirsize($dir)

폴더의 용량 ($dir는 / 없이 넘기세요)


경로

lib/common.lib.php


인수

string $dir

용량 확인을 할 경로


예제

// 예제

$dirsize = get_dirsize(G5_DATA_PATH . '/file');

var_dump($dirsize);

// int(4096)



'개발자 인생 > 그누보드5' 카테고리의 다른 글

get_view  (0) 2018.07.22
get_list  (0) 2018.07.20
get_file  (0) 2018.07.18
get_filesize  (0) 2018.07.18
set_http  (0) 2018.07.17

크롬 애플 개발자센터 403 Forbidden 현상


오늘 애플 개발자 라이센스를 연장하라는 메일을 받아서 연장하려고 애플 개발자센터를 들어가려고 했으나,

403 Forbidden 오류가 나오는게 아닌가...

애플이 이럴리가 없는데란 생각을 가지고 다시 접속해봤지만 같은 현상만 반복되어서 갓구글님에게 검색을 해봤더니 쿠키 및 캐시를 삭제하면 해결된다고 하더라. 이런.. 이렇게 간단한거 였다니..


오류현상

애플 개발자 센터에 접속하면 위와 같은 오류가 발생한다.


해결방법

크롬 우측 상단에 설정으로 접속합니다.


크롬 설정창 맨아래 고급 버튼을 클릭하여 확장된 메뉴를 보실 수 있습니다.


확장 메뉴중 인터넷 사용 기록 삭제를 클릭하면 아래와 같은 팝업이 뜨고 삭제가 가능해 집니다.


팝업 우측 하단에 인터넷 사용 기록 삭제 버튼을 클릭하시고 이제 인터넷 개발자 센터 접속 하시면 정상 접속이 될 것입니다.




함수명


array get_file($bo_table, $wr_id)

게시글에 첨부된 파일을 얻는다. (배열로 반환)


경로

lib/common.lib.php


인수

string $bo_table

게시판 테이블명


string $wr_id

게시글 고유번호


예제

// 예제
$files = get_file('notice', 1);

var_dump($files);

array(3) {
  ["count"]=>
  int(2)
  [0]=>
  array(13) {
    ["href"]=>
    string(82) "http://sample.withstep.co.kr/bbs/download.php?bo_table=notice&wr_id=1&no=0"
    ["download"]=>
    string(1) "0"
    ["path"]=>
    string(45) "http://sample.withstep.co.kr/data/file/notice"
    ["size"]=>
    string(4) "1.7M"
    ["datetime"]=>
    string(19) "2018-07-18 23:49:31"
    ["source"]=>
    string(12) "IMG_0639.jpg"
    ["bf_content"]=>
    string(0) ""
    ["content"]=>
    string(0) ""
    ["view"]=>
    string(331) ""
    ["file"]=>
    string(64) "3673073230_9nX8kCtg_593abcd5fd82dd8c576d23e5cc83ca0ab8d46a7a.jpg"
    ["image_width"]=>
    string(4) "2448"
    ["image_height"]=>
    string(4) "3264"
    ["image_type"]=>
    string(1) "2"
  }
  [1]=>
  array(13) {
    ["href"]=>
    string(82) "http://sample.withstep.co.kr/bbs/download.php?bo_table=notice&wr_id=1&no=1"
    ["download"]=>
    string(1) "0"
    ["path"]=>
    string(45) "http://sample.withstep.co.kr/data/file/notice"
    ["size"]=>
    string(4) "3.0M"
    ["datetime"]=>
    string(19) "2018-07-18 23:49:31"
    ["source"]=>
    string(12) "IMG_0640.jpg"
    ["bf_content"]=>
    string(0) ""
    ["content"]=>
    string(0) ""
    ["view"]=>
    string(331) ""
    ["file"]=>
    string(64) "3673073230_SxIBeMJW_593abcd5fd82dd8c576d23e5cc83ca0ab8d46a7a.jpg"
    ["image_width"]=>
    string(4) "2448"
    ["image_height"]=>
    string(4) "3264"
    ["image_type"]=>
    string(1) "2"
  }
}



'개발자 인생 > 그누보드5' 카테고리의 다른 글

get_list  (0) 2018.07.20
get_dirsize  (0) 2018.07.19
get_filesize  (0) 2018.07.18
set_http  (0) 2018.07.17
url_auto_link  (0) 2018.07.17

get_filesize


string get_filesize($size)

파일의 용량을 구할 수 있습니다.


경로

lib/common.lib.php


인수

int $size

용량 byte 를 받습니다.


예제

// 예제
$byte = 500;
$filesize = get_filesize($byte);

var_dump($filesize);

// string(7) "500byte"

$kbyte = 1024;
$filesize = get_filesize($kbyte);

var_dump($filesize);

// string(4) "1.0K"

$mbyte = 1024 * 1024;
$filesize = get_filesize($mbyte);

var_dump($filesize);

// string(4) "1.0M"

$gbyte = 1024 * 1024 * 1024;
$filesize = get_filesize($gbyte);

var_dump($filesize);

// string(8) "1,024.0M"



'개발자 인생 > 그누보드5' 카테고리의 다른 글

get_dirsize  (0) 2018.07.19
get_file  (0) 2018.07.18
set_http  (0) 2018.07.17
url_auto_link  (0) 2018.07.17
confirm  (0) 2018.07.16