보급형 방구석 개발자
반응형

PHP 43

(팁) 그누보드 게시판 첨부파일 용량 조정하기

그누보드 관리자 모드에 보면 최대가 32메가까지 첨부파일 용량이 정해져 있다. 직접 서버를 운영하면 php.ini 파일을 건드리면 되지만 보통은 호스팅을 받으므로 쉽지 않다.그래도 방법은 있는데 간단하게 .htaccess 파일을 root에 추가해주면 끝난다. 그누보드 - 파일 업로드 용량 마음대로 조절 하는 법 > 그누4 팁자료실 (sir.kr) SIR" data-og-description="서버를 직접 운영 하지 않는 분들(호스팅계정이용자)이 대부분 많으십니다. 호스팅 계정을 이용하는 분들은 php.ini에 접근할 수 없기 때문에 용량제한을 할수가 없습니다. 더군다나 호스" data-og-host="sir.kr" data-og-source-url="https://sir.kr/g4_tiptech/3288..

PHP/그누보드 2024.05.29

(팁) 그누보드 새로운 폴더에 index.php 추가하기

그누보드 사용 중 잊어버릴 듯한 팁을 모아두면 좋을 것 같아 카테고리를 만들었다. 그누보드를 거의 사용해보지 않아 뭔가 해보려고 하면 찾기도 힘들고. 그누보드 폴더 말고 새로운 폴더를 생성 후에 그 안에 index.php 넣는다면 어떻게 출력하게 할까? 그누보드 QA - 최신글 관련 문의드립니다. (sir.kr)./ (${DOCUMENT_ROOT})├── common.php├── index.php└── test ├── _common.php └── index.php test 디렉토리의 소스는 다음과 같이 구성되어야 합니다. test/_common.php  test/index.php

PHP/그누보드 2024.05.29

LG 유플러스 결제창이 iframe이 아닌 별도의 윈도우로 뜰 때

크롬으로 결제 테스트를 했을 때는 아무런 문제없이 iframe 삽입 방식으로 결제창이 떴는데 IE로 실행하기만 하면 별도의 윈도우 탭으로 결제창이 하나 또는 두 개씩이나 뜨고 결제까지는 성공해도 제대로 부모창으로 돌아가지 못해 최종적인 결과화면을 볼 수 없어 제대로 처리가 되지 않는 문제가 발생했다. 고객센터 기술지원팀과 이것저것 테스트해보았으나 샘플 코드 페이지는 정상적으로 실행이 되고 있었다. 웃기는건 별도의 윈도우 탭으로 결제창이 떴을 때 닫고 난 뒤 부모창에서 리프레시를 하고 다시 결제창을 띄워보면 부모창 안에서 결제창이 정상적으로 뜬다는 것이었다.   (정상적으로 실행이 되었을 때의 화면)   결국 소스코드에 이상이 있어서 그럴 수 밖에 없다. 첫 번째로 찾아낸 것은 iframe 이라는 파라미터..

PHP 2016.05.10

sublimelinter를 사용해 실시간으로 문법 오류 체크하기

linter는 실시간으로 문법을 체크해준다.sublimelinter를 사용하게 되면 PHP 뿐 아니라 CSS, JS, Python 등도 가능하다. sublimelinter는 서브라임 텍스트의 패키지 컨트롤을 통해서 설치한다.sublimelinter-php 도 마찬가지. css나 js 를 위해서는 nodejs가 필요하니 nodejs 에서 최신 버전을 설치해준다.sublimelinter-csslint 나 sublimelinter-jshint 같은 경우에는 패키지 컨트롤을 이용해서 설치도 가능하지만, nodejs 를 설치했으므로 npm 을 이용해서 설치해 보자. 커맨드창을 열고 npm install -g jshint 와 npm install -g csslint 를 각각 실행한다. 그리고 커맨드창에서 where..

PHP 2016.03.31

LG 유플러스 전자결제(PG) 사용하기

몇 년 전 처음으로 독립형 쇼핑몰 솔루션에 카드결제를 붙여달라고 해서 LG uplus의 xpay 전자결제 모듈을 이용한 적이 있다.이번에도 독립형 쇼핑몰 작업을 하면서 한번 해본 적이 있는 LG 유플러스가 편할 것 같아서 선택했다. 처음에 PG사의 모듈을 사용할 때 매뉴얼이 암호처럼 보여서 고생을 했는데, 역시나 이번에도 쉽지 않았다.(나만 그런가? 문제가 생겼을 때 인터넷 검색을 해봐도 별다른 방법이 없다.) 이번에 고생을 한 문제는 다름이 아니라 너무 조심스럽게 사용했다고나 할까?로컬에서 PHP 옵션에 display errors를 해놓고 실행하다보면 에러를 뿜어내는데 이것을 잡아보겠다고 변수에 빈 값이 들어있는 것을 체크하려다 발생했다. isset() 함수를 if()문에서 사용해야 하는데 로컬에서 에..

PHP 2016.02.29

서브도메인에서 세션공유하기

http://www.domain.co.kr 과 http://domain.co.kr 두 가지 모두 접속에는 이상이 없으나 로그인을 했을 때 각각의 도메인으로 접속해 로그인한 경우 페이지 이동 등에서 로그인이 풀려버리는 현상이 발생.문제점 : www.domain.co.kr과 domain.co.kr을 서로 다른 것으로 인식하기 때문에 세션이 풀리는 현상 발생.1. 도메인 redirection을 통해 www.domain.co.kr로 접속을 하든 그냥 domain.co.kr로 접속을 하든 강제로 www가 붙은 어느 한 페이지에 고정으로 접속이 되게끔 바꾸고 이후 모든 페이지 이동 등에서 하나의 도메인 접속방법으로만 통일.2. session_start() 가 시작하기 전에 ini_set("session.cookie..

PHP 2012.09.21

PHP RSS feed 만들기

게시판의 공지사항 정도는 RSS로 받아보면 어떨까 하는 생각이 들어, RSS feed 기능을 추가하고 싶었는데 아래는 비교적 쉽게 사용할 수 있는 RSS feed 만들기 설명이다. http://www.ibm.com/developerworks/xml/library/x-phprss/?ca=dgr-lnxw01PHP-RSS 다만 영문을 기준으로 한 것이라 약간 고칠 부분도 있다. 태그에 en-us 라고 되어 있는 것은 ko 로 바꾸면 된다. 그리고 내 경우엔 htmlentities() 함수 부분에서 UTF-8을 제대로 처리해 주지 못하는지 어쩌는지 에러가 발생해 일부 코드에선 빼버렸다. 하단엔 RSS reader 기능까지 설명이 되어 있는데 사실 이 부분의 경우 외부 소스를 사용하는 것인데 이해가 잘 되지 않아..

게시판 DB 스키마 재정의

2009/02/12 - [게시판 만들기] - 게시판 DB 스키마 정리게시판 만들 때 DB의 스키마를 정리를 했었는데 사용하다 보니 문제점이 발견되었다.한 개의 게시판만 생성해서 사용할 때는 별 관계가 없지만 다수의 게시판을 생성했을 때 여러 가지 복잡하고 미숙한 부분들이 나타나서 스키마를 다시 재정의했다.#기본 게시판 테이블 우선 DB 테이블을 생성 시에 공지사항 게시판을 기본으로 생성하도록 했다.제일 하단에 보면 코드 테이블에 공지사항 게시판 값이 들어간 것을 알 수 있다.이렇게 부모글과 답변글에 대한 테이블을 분리해놓고 나니 처리하기가 한경 수월해졌다.여러 개의 게시판을 생성하더라도 호출이나 처리 시에는 게시판 코드값만 넣어서 처리하도록 했다.$board = 'bbs_'.$code;$sql = "SE..

mysql improved 함수 사용하기

기존에 mysql 관련 함수가 mysql_ 로 시작을 했다면 보다 개선된 함수는 mysqli_ 로 시작을 한다. 예를 들면 쿼리를 보내는 mysql_query() 함수의 경우 mysqli_query() 이런 식이다. 물론 위와 같이 쓰면 procedural방식으로 resource 를 반환하는 것이니 객체지향 방식으로 object 반환값을 받는다면 mysqli::query() 처럼 써야 한다. mySQL 4.1 이상에서 사용할 수 있다. 보다 자세한 내용은 http://kr2.php.net/manual/kr/book.mysqli.php 을 참고.

PHP 2009.02.16

MVC 모델로 본 게시판 만들기

줏어들은 건 있어서 디자인패턴이란 책도 집에 한 권 있다. (아, 물론 읽어 본 적은 없다...그냥 소장만 하고 있다.) 문득 작년에 본 루비온레일즈(처음엔 루비온레일즈로 게시판을 만들려고 했다.) 책에서 MVC 모델을 읽은 기억이 났다. 그래서 구글링을 통해 MVC 모델로 본 게시판 만들기를 정리해 봤다. (사실 이런건 맨 처음에 해야하는건데...) MVC(Model-View-Controller) 모델은 소프트웨어 재사용성이나 협업에 있어서 중요한 역할을 하는 것 같다. (내 관심은 재사용성이다.) Model: 비즈니스 로직과 처리 View: 사용자 인터페이스(UI) Controller: 네비게이션과 입력 MODEL 우선 Model은 사용자나 프로그램 상에서 필요로 하는 하나의 객체라고 생각하면 된다...

해결못한 한글입출력 문제

카페24 웹호스팅 중에서 제일 저렴한 것으로 테스트 중인데, 물론 DB는 utf-8이다. 여기서는 특별히 설정을 해주지 않아도 utf-8로 한글 입출력하는데 문제가 없다. 그런데, 나야나에서 무료로 계정을 나눠주어서 역시나 utf-8 DB로 계정을 받아서 테스트를 했는데... 영문 입출력엔 문제가 없으나, 한글은 입출력이 안되는 문제가 있다. 게시판 소스코드가 바뀐 것도 아닌데, 왜 이런 문제가 생기는지 카페24 DB 셋팅과 똑같이 해보아도 안된다. 아직 해결못한 과제다.

게시판 DB 스키마 정리

2009/02/07 - [잡담] - 추천서적 : 성공적인 웹 프로그래밍 PHP와 MySQL (제3판)"성공적인 웹 프로그래밍 PHP와 MySQL" 이라는 책을 읽고 난 뒤 DB의 스키마를 정리해 보았다.(읽을 수록 괜챦은 책이란 생각이 든다.)board (code, main_no, id, title, name, contents, passwd, date, count, email, reply_no, rel_no, depth, filename)code (num, code, bbs_name, passwd, readonly) 굵은체로 표시된 것이 primary key고, code 테이블에 이탤릭체로 표시된 code 는 board 테이블을 참조하는 foreign key다.맨 처음 게시판을 만들 때와는 조금 달라졌다..

게시판 검색 기능 수정

2008/11/22 - [게시판 만들기] - 검색 기능 추가 이전 검색기능은 잘 모르는 상태에서 만들다 보니 실행이 잘 안됐다. 아래는 수정한 코드다. //검색 시 DB 쿼리에 추가할 부분 //form submit 할 때 히든값으로 $mode 값을 넘긴다. if($mode=='search') { switch ($key) { case "title": $s_sql .= " AND title LIKE '%$keyword%' "; break; case "contents": $s_sql .= " AND contents LIKE '%$keyword%' "; break; case "name": $s_sql .= " AND name LIKE '%$keyword%' "; break; } } ... //DB로부터 값을 가..

비밀번호 암호화해서 DB에 저장 후 비교하기

비밀번호를 저장하는데 여러 가지 방법이 있더군요. 그 중에 php의 sha1() 함수를 써보았습니다. 우선은 회원가입 시 sha1() 함수로 비밀번호를 DB에 저장합니다. POST 방식으로 아이디와 비밀번호가 넘어왔다면, $passwd 변수에 sha1() 함수의 리턴값을 대입해서 암호화합니다. $id = $_POST['id']; $passwd = sha1($_POST['passwd']); mysql_query("INSERT INTO member (id, passwd) VALUES('$id', '$passwd')"); 이 때 중요한 것이 DB의 passwd 자릿수입니다. varchar(41) 로 잡아줍니다.

PHP 2009.02.09

PHP 막대그래프 그리기

이상하게 graphite나 jpgraph를 단독으로 쓰면 그래프 예제 등이 잘 보이는데 다른 소스 내에 포함시켜쓰려니 꼭 헤더가 이미 보내졌다면서 문제가 발생하더군요. 그래서 그냥 하나 만들어서 쓰려고 여기 저기 찾던 중 아래와 같은 소스를 구했습니다. $max_value) $max_value = $val[$i]; } $im = @ImageCreate($x,$y) or die ("이미지를 초기화 하지 못했습니다"); switch($theme) { case "red" : $backgroundcolor=ImageColorAllocate($im,208,208,208); //-- 그래프 바탕색 $rectanglecolor = ImageColorAllo..

PHP 2009.01.26
반응형