본문 바로가기

php43

PHP Error 관련 PHP의 기본적인 오류 처리는 파일이름, 줄, 번호 및 오류를 설명하는 메시지와 함께 브라우저에 오류 내용이 출력됩니다. 그래서 해당부분을 찾아서 오류를 수정하면 됩니다. 하지만 정작 실무에 들어서서 고객사에게 프로그램 납품을 할때 오류가 발생하면, 회사에 대한 신뢰가 많이 떨어집니다. 그래서 오류를 내지 않도록 주의하며, 코딩해야 합니다. 솔직히 저역시 코딩을 하면서 오류를 내지 않기위해 노력은 하지만 그게 말처럼 쉬운 부분은 아니더라구요. 그래서 이번장에서는 PHP 오류 구문에 대해서 조금 알아보겠습니다. 기본예제를 살펴보겠습니다. 만약 아래처럼 "test.txt" 파일이 존재하지 않는데, fopen으로 읽어올 경우 Warning: fopen(test.txt) [function.fopen]: fail.. 2013. 7. 1.
PHP Email 구문 이번장에선 PHP email 구문에 대해서 알아보겠습니다. 우선 email을 이용하기 위해선 25번 포트가 열려 있어야 하며, SMTP 서버가 설치되어 있어야 하고 php.ini 의 설정에 SMTP = localhost smtp_port = 25 sendmail_from = me@example.com 보통은 위처럼 설정이 되어 있는데 만약 sendmail_from에 주석처리가 되어 있을경우 주석을 풀고 사용할 이메일을 적어주고 아파치를 재시작하면 됩니다. 만약 그렇지 않다면 "Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()" 같.. 2013. 6. 28.
PHP Sessions 구문 이전 포스팅에서 쿠키에 대해서 설명을 했는데 오늘 포스팅에서는 세션에 대해서 설명하겠습니다. 세션과 쿠키의 차이점 세션과 쿠키와의 차이점은 쿠키는 방문자가 해당 사이트에 접속했을 때 방문자의 컴퓨터에 모든 사용자데 이터를 저장하지만, 세션의 경우는 사용자데이터는 서버에 저장하고 사용자 시스템에는 이 데이터에 접근 할 수 있는 식별자만 저장합니다. 이러한 점에서 세션이 쿠키보다 보안성이 좋다고 할 수 있습니다. 또한 쿠키의 경우에는 서버의 자원을 전혀 사용하지 않지만, 세션의 경우 서버에 저장이 되기 때문에 서버의 자원을 필수적으로 사용하게 됩니다. 그리고 쿠키의 경우 저장 시 쿠키가 만료가 되는 시점을 설정 해줄 수 있습니다. 그럼 이제 세션의 사용방법에 대해서 설명하겠습니다. 세션은 문서가 시작되기 전.. 2013. 6. 27.
PHP cookies 구문 이번장에서는 PHP 쿠키에 대해서 알아보겠습니다. 쿠키는 보통 사용자 식별에(로그인, 로그아웃) 사용하는데, 사용자의 컴퓨터에 저장되는 작은 값이라고 보면 됩니다. 어떻게 쿠키를 생성하고 삭제하는지에 대해서 살펴보겠습니다. 기본문법은 setcookie(name, value, expire, path, domain); 처럼 사용합니다. "user" 라는 쿠키를 만들고 그 값에 "test"를 할당하고 한시간 뒤 만료되도록 하는 구문을 만들어보겠습니다. // 이렇게 user 라는 쿠키에 test 라는 값이 담길 경우 어떤 페이지에서든 의 출력값은 "test" 라는 값이 나오게 됩니다. 단, $user 변수가 중복되지 않도록 주의해야 합니다. 왜냐하면 동일한 변수 $user 을 생성하면 쿠키값이 변경되기 때문입니.. 2013. 6. 26.
PHP file upload 구문 모든 웹프로그램이 그렇듯이 PHP도 file을 업로드 가능합니다. 지금은 jQuery 와 자바스크립트의 발전과 오픈소스등으로 file 업로드가 더 화려하고 멀티업로딩도 가능하게 많이 이용을 합니다. 저도 swfupload를 이용하여 멀티업로드를 구현하여 홈페이지 게시판을 만들때 사용을 합니다. swfupload에 대해서 php 장이 끝나면 추후 자세히 포스팅하겠습니다. 기본을 모르는 상태에서 바로 멀티업로드 구현은 쉽지 않기때문에 우선 기본 업로드 구문에 관해서 이야기 하겠습니다. 뭐니뭐니해도 예제를 살펴보면 가장쉽게 이해가 되기 때문에 바로 예제를 보겠습니다. 관련예제 ------- upload.php ------- Filename: // 우선 form의 내용에 대해서 살펴보면 action="uploa.. 2013. 6. 25.
PHP file 처리 함수 이번장에서는 php file 처리 함수에 대해서 알아보겠습니다. file 처리에서 사용하는 함수들은 fopen(), fread(), fwrite(), fputs(), fgetc(), fgets(), filesize(), filetype() feof(), fclose() 등이 있는데 우선 fopen(), feof(), fgetc(), fgets() 함수들에 대해서 알아보겠습니다. 기타 함수들은 간략설명을 참조하기 바라며, 기타 함수들도 실전에서 자주 사용되니 구글링 또는 네이버 검색등으로 학습을 바랍니다. 추후 시간이 된다면 기타 함수들에 대해서도 예제와 설명을 포스팅 하겠습니다. fopen() 함수는 파일의 입력/출력을 관리할 수 있는 함수 입니다. 우선 관련예제부터 알아보겠습니다. // 위 구문은 한마.. 2013. 6. 24.
PHP include 구문 이번장에서는 php include 에 대해서 알아보겠습니다. include는 서버를 실행시킬때 즉 웹페이지 문서를 읽을때 기본 php 페이지에서 다른 php 파일의 내용을 넣을때 사용합니다. include 는 같은 소스를 반복적으로 사용하고 싶을 경우 가장 유용하게 사용되는 함수 입니다. 저는 include 파일을 쓰는 부분이 DB(데이터베이스)를 읽어들일때 가장 많이 사용합니다. 아마 대부분의 개발자들이 그렇지 않을까 생각합니다. 기본 문장은 include "dbcon.php", include 'dbcon.php', include ("dbcon.php") require "dbcon.php", require 'dbcon.php', require ("dbcon.php") 식으로 사용합니다. 관련예제 < b.. 2013. 6. 21.
PHP Date() 함수 이전포스팅에서 이미 예고한대로 이번장은 가볍게 PHP Date() 함수에 대해서 알아보겠습니다. date() 영문만 보아도 날짜 및 시간 관련 함수라는것을 이미 짐작했을거라 생각합니다. 기본적인 구문은 string date ( string $format [, int $timestamp ] ) 정수형으로 주어지는 timestamp나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp는 선택적이고, 기본값은 time() 의 값입니다. 관련 예제 처럼 사용합니다. 자세히 보면 함수 영문이 "대,소" 문자로 표기되고 숫자가 "0" 이 앞에 붙는게 있고 붙지 않는게 있고 그렇습니다. 관련 함수에 대해서 하나하나 .. 2013. 6. 20.
PHP 다차원 배열 이번장에서는 php 다차원 배열에 대해서 알아보겠습니다. 모든 프로그램이 그렇듯이 php도 다차원 배열을 만들 수 있습니다. 이전 포스팅에서 배열에 관해 설명한것이 있는데 그것은 1차원 배열이라 보면 되고, 배열안에 또 다른 배열을 넣을 수 있습니다. 즉, 2차원, 3차원 배열을 만들 수 있습니다. 우선 2차원 배열에 대해서 알아보겠습니다. // 소스에서 보면 알겠지만 array 안에 또 다른 array가 있습니다. 1차원의 일반적인 방식은 $변수[0] 처럼 표현을 하지만 2차원에서는 $변수[0][0] 으로 표현을 합니다. [0][0] 은 첫 번째 array값의 첫번째를 말하는 것이며, [0][1]은 첫 번째 array값의 두 번째 값을 말합니다. 그래서 출력되는 값은 Audi : Ordered: 100.. 2013. 6. 19.
PHP $_GET, $_POST 이번장에서는 이전 포스트에서 미리 예고드린바 있는 PHP $_GET, $POST 방식에 대해서 알아보겠습니다. 기본적으로 방식에서 사용하는 방법에는 GET 방식과 POST 방식 두 가지가 있습니다. 먼저 GET 방식에 대해서 말하겠습니다. GET 방식은 폼값을 다른 페이지로 넘길 경우 상단 주소 표시줄에 변수와 변수값이 모두 노출됩니다. 예를들어 이름 : 나이 : // submit 버튼을 누르면 이름과 나이의 값을 info.php 페이지로 전송을 하게 되는데 그때 상단 주소창에 http://blog.naver.com/makand123/info.php?name=Park&age=38 이런식으로 표시됩니다. 그래서 보안에 상당한 위험이 있습니다. 암호 .. 2013. 6. 18.
PHP Form 구문 이번장에서는 PHP Form 관련 내용에 대해서 알아보겠습니다. 모든 웹 언어가 그렇듯이 Form 구문을 통해서 입력된 값을 넘겨 받을수 있습니다. 값을 넘겨받는 방식에는 $_GET 방식과 $_POST 방식이 있습니다. $_GET 과 $_POST 는 다음장에서 자세히 다루기로 하고 이번장에서는 form에 대해 이해하고 넘어가는 거로만 하겠습니다. 설명을 아무리해도 예제한번 보는것만 못하죠 일단 관련예제부터 보겠습니다. ------------------- form.php --------------------------- 이름: 나이: .. 2013. 6. 17.
PHP Function(함수) 이번장에서는 PHP Function 에 대해서 알아보겠습니다. PHP는 자신이 원하는 함수를 직접 만들고 그 함수를 가져다 쓸 수 있습니다. PHP의 가장 강력한 기능이라고 볼 수 있습니다. PHP는 기본적으로 이미 정의된 700개 이상의 함수가 내장되어 있습니다.(이전장에서 설명한 함수들 이외에도 말이죠) 페이지가 로딩될때 만든 함수를 사용할 수 있습니다. 그렇게 하려면 이미 어딘가에 함수를 만들어 놓고 아니면 동일한 페이지에 함수를 만들어놓고 불러들여 사용합니다. PHP 함수를 만들어 봅시다. 기본적인 문법은 function functionName() { // 이곳에 함수 내용을 넣습니다. } // 자바스크립트를 공부하신 분이라면 자바스크립트 함수선언과 똑같다는것을 알 수 있을겁니다. 우선 funct.. 2013. 6. 14.
PHP 반복문(while, for, foreach) 저번장까지 PHP 배열(Array)의 관해서 설명하였고 이번장에서는 PHP Loop(반복문 : while, for, foreach)에 대해서 설명하겠습니다. PHP 반복문에는 크게 While, For, Foreach 이렇게 3가지로 나뉘어집니다. 우선 while에 대해서 알아보겠습니다. 기본 문법 while (condition) { code to be executed; } // 처럼 사용됩니다. 관련예제를 보면 더 이해가 빠를듯합니다. // 딱 봤을때 감이 오시나요? 제일 처음 $i = 1 이라고 정의를 했습니다. 그리고 $i 가 5보다 작거나 같을때까지 $i++ 1씩 증가시키라는 의미죠. 그래서 1부터 5가 될때까지 5번을 반복하여 실행이 됩니다. 그리고 출력되는 내용은 숫자 : 1 숫자 : 2 숫자 .. 2013. 6. 13.
PHP Sorting Arrays(정렬 배열) 이번장에서는 Array Sorting에 대해서 알아보겠습니다. sorting 이란 정렬이란 의미죠. a, b, c, d... , 1, 2, 3, 4 .... , ㄱ, ㄴ, ㄷ, ㄹ ... 등 순으로 정렬할 때 사용합니다. sorting(정렬) 의 방법에는 • sort() - 오름차순 정렬합니다. • rsort() - 내림차순 정렬합니다. • asort() - 값에 따라 오름차순으로 연관된 배열을 정렬합니다. • ksort() - 키값에 따라 오름차순으로 연관된 배열을 정렬합니다. • arsort() - 값에 따라 내림차순으로 연관된 배열을 정렬합니다. • krsort() - 키값에 따라 내림차순으로 연관된 배열을 정렬합니다. 가 있습니다. sort(), rsort() // 위 구문을 출력하면 Apple .. 2013. 6. 12.
PHP Array(배열) 문법 저번장까지 if ~ else , switch ~ case 문법에 관해서 알아봤습니다. 어려운점은 크게 없었으니 이해가 잘 되었을거라 생각하고 이번장에서는 PHP Array(배열)에 관해서 알아보겠습니다. Array(배열)은 하나의 변수에 여러 값을 저장할 수 있습니다. // 위 구문을 출력했을때 나오는 내용은 "나는 파인애플, 수박, 딸기를 좋아합니다." 입니다. 참고로 array에 값을 담게되면 array[0], array[1]... 처럼 0부터 배열값이 담기게 됩니다. 만약 array가 없다면 $fruit1 = "파인애플"; $fruit2 = "수박"; $fruit3 = "딸기"; 처럼 하나하나 변수로 만들어서 담아야 하는 불편함이 있을텐데 위처럼 array를 사용하면 코딩도 줄여주면서 쉽게 여러변수.. 2013. 6. 11.
PHP switch ~ case 구문 이번장에서는 switch ~ case에 대해서 알아보겠습니다. 이전장에서 포스팅했던 if ~ else 구문과 비슷한 형태라 보시면 됩니다. switch ~ case 역시 if 구문과 마찬가지로 비교구문에 사용되는 함수입니다. if 문으로 길어지는 구문을 축약시킬경우 유용한 사용방법입니다. 보통 if 구문이 3개 이상일 경우 switch 구문을 사용하는게 효과적이라고 합니다. 그리고 소스를 줄여줄수 있기때문에 많이 사용되는 함수라 보면 되겠습니다. 코딩을 많이 하다보면 어느때 if 구문이 좋은지 switch가 좋은지 판단할 수 있을거라 생각합니다. switch ~ case 예제구문 // 위 구문을 살펴보면 변수 $i 값에 "2"라는 값이 들어가 있고, switch ~ case 구문에서 비교를 하게됩니다. .. 2013. 6. 10.
PHP IF ~ ELSE 문 이번장에서는 PHP 문법중 중요한 if ~ else에 관해서 알아보겠습니다. 모든 프로그래밍에서 기초가 되는 문법입니다. 일단 if 라는 뜻은 "만약" 이란 뜻을 가진건 모두 알거라 생각합니다. 대략 짐작이 오겠죠. "만약 ~ 라면 ~ 이다" 비교 문법입니다. 예를 들어서 "A"와 "B"가 같은지를 조사할 경우 if ("A" == "B") 라고 표현을 하겠죠. A와 B가 같나요?? 물론 틀립니다. 그럼 맞을땐 어떻게 하고 틀릴땐 어떻게 해라. 이런 표현은 어떻게 할까요? if ("A" == "B") { // A와 B가 같은지를 검사합니다. } else { // A와 B가 틀리면 이곳에 내용을 넣으면 됩니다. } php 예제를 통해 알아보겠습니다. // 3이 4보다 작은지를 비교합니다. 3은 4보다 수가 .. 2013. 6. 7.
PHP 연산자 이번장에서는 PHP 연산자에 대해서 알아보겠습니다. 고등학교 시절 배웠던 연산자를 생각하시면 됩니다. PHP 산수 연산자(산수! 오랜만에 들어보는 ㅎㅎ) 산수 연산자의 종류에는 "+" 더하기 "-" 빼기 "*" 곱하기 "/" 나누기 "%" 나머지 (5%2 = 1 요렇게 나머지를 표시합니다.) 등이 있습니다. PHP 할당 연산자 할당이란 말이 복잡하지 뭐 별거 없습니다. x = y 말그대로 x를 y에 할당했다는 의미입니다. x += y // x = x + y x -= y // x = x - y x *= y // x = x * y x /= y // x = x * y x %= y // x = x % y a .= b // a = a . b PHP 증감 연산자 ++x // 출력전에 x값을 1씩 증가시킵니다. --.. 2013. 6. 5.
PHP String (문자열 변수) 지난번 포스팅에선 php 변수에 대해서 알아보았습니다. 이번장에서는 조금 더 나아가 변수중에서 string에 대해서 알아보겠습니다. 흔히 문자열 변수라고 칭합니다. 문자열 변수는 직접 생성, 조작할 수 있습니다. 예를 들어 $txt 라는 변수를 만들고 내용에 "Park's의 블로그" 이렇게 내용이 출력됩니다. 2013. 6. 4.
PHP 변수에 대하여 이번장에서는 php variables(변수)에 대해서 알아보겠습니다. 변수란 말그대로 "변하는 수"입니다. php변수는 "$"를 붙여서 생성합니다. 그리고 변수를 설정할때 알기쉽게 $name 이렇게 표기를 하는데 $name 무슨뜻으로 만든 변수일까요? 짐작하셨겠지만 "이름"의 변수를 뜻하겠죠. 변수의 타입(type)에는 진리값, 정수, 실수, 문자열, 배열, 객체, 리소스, 널 이렇게 총 8가지의 변수형들이 있습니다. 변수의 종류가 이렇게 많은 이유는 메모리를 효율적으로 사용하기 위함입니다. 예를 들어 변수하나에 숫자 몇자리가 들어간다고 가정했을경우 이 변수 하나에 1메가바이트의 공간을 줄 필요가 없겠죠. 변수의 타입에 대해선 다음장에서 설명하기로 하고 일단 넘어가겠습니다. 위 예제를 실행하면 7 이 나.. 2013. 5. 31.
PHP Syntax 이번장에서는 php Install 과 Syntax에 대해서 알아보겠습니다. 우선 php 작업을 하기위해선 서버에 php와 database(mysql 등)이 깔려 있어야 가능합니다. 물론 개인 PC에서도 사용이 가능한데 개인 PC에서 php 공부를 하시려면 툴중에 apmsetup 라는 툴이 있습니다. 현재 무슨 이유인지 apmsetup.com 은 열리지 않고 있네요. apmsetup 사이트는 열리지 않지만 http://www.paran.xvy.kr/apmsetup 라는 사이트가 또 있네요. 여기서 apmsetup 다운도 받을수 있고 설치방법에 대해 자세히 나옵니다. 성공적인 설치가 되면 도메인 주소(http://localhost:8080) 머 이렇게 해서 php를 사용할 수 있습니다. 그리고 웹서버가 있는.. 2013. 5. 30.