PHP4등 하위버전에서 JSON을 사용하는 방법에 대해서는 PHP4에서 JSON 설치하기 에서 살펴봤다. 이번에는 실제 DB의 내용을 가져와서 JSON 파일을 만드는 방법을 정리해 본다. JSON은 HTML에서 Ajax로 통신하거나 안드로이드, 아이폰과 같은 모바일과 통신하기 위해서 주로 사용한다. 많이 사용하는 형태인 DB의 데이터를 가져와서 JSON으로 출력하는 부분을 정리해 보자. 데이터와 JSON 출력형태 사용할 DB 데이터는 다음과 같다. 예제를 보여주기 위해 임시로 만든 테이블이다. 이 데이터를 가져와서 출력할 JSON 타입의 문자열은 다음과 같다. 데이터를 묶는 것을 보여주기 위해서 middle_exam과 final_exam을 하나로 합쳤다. [ {"name":"mini","age":18,"..
PHP에서 JSON 타입의 메시지를 만들려면 json_encode(), json_decode() 함수를 사용하면 된다. 그러나 이 메소드는 PHP 5.2부터 지원하기 때문에 PHP5.1 이하에서는 사용할 수 없는 문제가 있다. PHP4에서 이 함수를 호출하면 다음과 같은 오류 메시지가 나온다. call to undefined function: json_encode() 서버 호스팅과 같이 직접 서버를 보유하고 있다면 버전업으로 간단히 해결할 수 있겠지만 과거부터 웹 호스팅을 쓰고 있었다면, 더욱이 아쉬운 부분일 수밖에 없다. PHP4에서 JSON 설치 어차피 PHP에서도 내장함수로 만들어서 배포한 것이기 때문에 json_encode(), json_decode() 함수를 직접 구현하면 될 것이다. 하지만, ..
이전에 MAC에서 Apache 실행하기를 살펴봤다. 이제 Apache에 PHP를 연동하는 것을 적용해보자. MAC에는 Apache와 PHP가 이미 설치되어 있기 때문에 별도의 설치과정 없이 설정만 하면 된다. PHP 활성화 PHP를 활성화하기 위해서 apache 설정파일인 httpd.conf를 수정하면 된다. 먼저 httpd.conf 파일이 있는 곳으로 이동하고, 관리자 권한으로 해당 파일을 수정하면 된다. # cd /etc/apache2 # sudo vi httpd.conf Vi 편집기에서 "/php5" 검색으로 php5가 있는 곳으로 이동한다. LoadModule php5_module libexec/apache2/libphp5.so 부분이 '#'으로 주석 처리 되어 있는 것을 확인할 수 있다. 간단하..
요즘 글로벌 홈페이지들을 살펴보면 Korean / English와 같이 언어별로 구분되어 선택할 수 있도록 되어 있습니다. 오늘은 이와 같이 접속자에 따른 홈페이지의 언어별 분류를 어떻게 하는지 정리해 보도록 하겠습니다. 가장 확실한 방법은 역시 쿠키를 활용하는 것입니다. 사용자가 선택한 언어를 쿠키에 저장해 두고 홈페이지가 열릴 때마다 보여주는 방법이죠.. 한번 설정한 언어 정보를 기반으로 계속 보여주기 때문에 지속적으로 방문하는 사용자를 위해 일반적으로 많이 사용되는 방법입니다. 그러나 사용자가 선택하기전에 어떤 언어를 먼저 보여줘야 할지를 결정하는 부분이 이슈가 됩니다. 이때 사용하는 것이 접속자의 IP를 기반으로 국가를 파악하고 언어를 설정하는 방식을 사용합니다. 그렇다면 IP를 기반으로 국가 정..
php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리하면 됩니다. 하지만 allow_url_fopen=off로 설정되어 있는 경우, 일단 php.ini 파일을 수정하면 됩니다. 벗뜨~~ 웹 호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있죠~ 이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법이 있었슴다.. 추가적으로 GET 방식 호출은 다음과 같이 할 수도 있습니다. 기타 다른 방법으로는 .htaccess 파일을 이용하는 방법도 있더라구요.. .htaccess 파일에 다음과 같은 내용을 추가하면 된다고 합니다. php_flag allow_url_fopen 1 하지만 위 ..
PHP와 MySQL을 사용하는 웹 호스팅에서 데이터베이스의 모든 테이블을 지우려고 할 경우, Drop Database 문을 활용하지 못하는 경우가 많습니다. 그렇다고 수많은 테이블을 하나씩 지우는 것도 방법이 아닐 듯 하네요.. 그래서 다음과 같은 PHP 프로그램을 통해서 처리할 수 있을 것 같습니다. 먼저 "show table"을 사용해서 전체 테이블 정보를 가져오고 이어서 "drop table" 명령으로 하나씩 지우면 되겠죠. 다음 소스를 참고하세요~
전화번호를 다루는 프로그래밍을 하다보면 포맷이 다른 경우가 많습니다. 그래서 중간에 )나 -가 들어가 있는 경우는 그대로 두고, 숫자만 있는 경우 포맷을 변경해서 -를 추가하는 javascript를 구성해 봤습니다. 즉, 다음과 같은 형태로 처리 된다고 보시면 됩니다. 021112222 -> 02-111-2222 03111112222 -> 031-1111-2222 0101112222 -> 010-111-2222 이와 같은 작업을 하기 위해서 두가지 방법이 있습니다. 전체 자리수를 확인하고 if ~ else를 통해서 경우의 수를 모두 처리하는 방법이겠죠. 그런데 좀 세련되어 보이지 않습니다. 그래서 정규식(Regular Expression)을 사용해 보기로 하겠습니다. 구성한 예제는 다음과 같습니다. ja..
초보자를 위한 PHP, MySQL, Apache - Julie C. Meloni 지음, 김석중 옮김/정보문화사 제 홈페이지 환경이 PHP로 되어 있어.. 간간히 짧은 지식으로 이것저것 만들어 보다가~ PHP에 대해 체계적으로 함 보자.. 해서 살펴본 책입니다. 전체적으로 PHP에 대해 설명이 되어 있는데요.. 깊이는 부족한 것 같습니다. 수박 겉핥기 식으로 전체적으로 쭉 훑어보기에는 괜찮지만... PHP에 대한 세부적인 내용은 분야별로 별도의 내용을 찾아보심이 좋을 것 같네요.. 어차피 현재 저에게 필요했던 것은 PHP의 전체적인 흐름이었으니~ 어느정도는 만족하고 본 셈인데요. 그럼.. 각 파트별로 살펴볼 내용을 요약하도록 하겠습니다. 제 1부 기초다지기는 PHP, Apache, Mysql의 설치와 관련..