본문 바로가기

php 강의33

PHP 5 Array 함수 array() - 배열을 생성함 array_change_key_case() — 배열 안의 모든 키를 변경 array_chunk() — 배열을 조각으로 나누기 array_combine() — 키를 위한 배열과 값을 위한 배열을 사용하여 배열을 생성 array_count_values() — 배열 값의 수를 셉니다 array_diff_assoc() — 추가적인 인덱스 확인과 함께 배열 차이를 계산 array_diff_key() — 배열을 비교하고 그 차이값을 반환함 array_diff_uassoc() — Computes the difference of arrays with additional index check which is performed by a user supplied callback functio.. 2013. 7. 25.
PHP AJAX RSS Reader 구문 이번장에서는 PHP AJAX RSS Reader 구문에 대해서 알아볼텐데요. 보통 뉴스기사, 블로그 등의 내용을 가져와 다른곳에 노출시키고 싶을때 많이들 사용합니다. 정말 재미있고 유용한 구문이며, 아래 나오는 예제를 잘 살펴보길 바랍니다. RSS(Rich Site Summary) 의 사전적 의미 : 포털사이트나 블로그와 같이 컨텐츠 업데이트가 자주 일어나는 웹사이트에서, 업데이트 된 정보를 자동적으로 쉽게 사용자들에게 제공하기 위한 서비스. 사이트가 제공하는 RSS 주소를 소정의 RSS Reader 프로그램에 등록하기만 하면, 업데이트된 정보를 찾기 위해 매번 로그인하거나 방문할 필요 없이 자동적으로 이들을 확인하고 이용할 수 있는 편의성이 있습니다. RSS를 운영자와 사용자의 입장에서 보았을 때, 서.. 2013. 7. 24.
PHP AJAX Live Search 구문 이번장에서는 PHP 에서 AJAX를 이용하여 Live Search 즉 실시간검색에 대해서 알아보겠습니다. 여러분들이 구글이나 네이버에서 검색어를 치다보면 한글자 아니 자음 하나만 키보드를 두드려도 하단에 관련 검색어들이 뜨는것을 보았을텐데 그러한 구문과 비슷한 구문이라고 생각하면 되겠습니다. 그림처럼 "a" 라고 치면 a가 해당하는 제목을 불러와 하단에 리스팅합니다. 위와 같은 구문을 만들기 위해 우선 3개의 파일이 필요합니다. form 구문이 들어있는 html 또는 php 파일과 xml 파일 그리고 ajax 를 이용한 php 파일이 필요합니다. xml 파일 -------- link.xml -------- Google ">http://www.google.com Naver ">http://www.naver.. 2013. 7. 23.
PHP AJAX XML 연동 이번장에서는 PHP AJAX XML 연동에 대해서 알아보겠습니다. PHP 구문에 AJAX를 이용해서 XML 데이터를 불러들이는 방식입니다. 이전 포스팅에서는 DB를 불러들이는 방식이었는데 DB 대신 XML 데이터를 가지고 온다고 생각하면 되겠습니다. 예제를 보면서 설명드리겠습니다. html 파일 1, ajax 파일 1, xml 파일 1 이렇게 총 3개의 파일이 필요합니다. 관련예제 HTML 파일 ------ html.php ------ Select a CD: Select NAME : Lee Bo Young Um Ji Won Lee Min Jeong O Ji Eun Su Ji I U Name info will be listed here... // 이름을 선택하면 이름에 대한 정보가 나옵니다. AJAX 파일.. 2013. 7. 22.
PHP AJAX 데이터베이스 연동 이번장에서는 PHP 에서 AJAX 를 이용한 Mysql 데이터베이스 연동에 대해서 살펴보겠습니다. AJAX 와 데이터베이스 연동은 실무에서도 정말 중요한 내용이고 별도의 다른 페이지 로딩없이 한 페이지 내에서 데이터베이스 내용을 불러들여 처리할 수 있으니 매우 유용한 기능이라 생각합니다. 데이터베이스 연동이니 우선 테이블을 하나 생성하겠습니다. 테이블 이름 : persons user_name age home job park 33 cheongju programmer kim 35 seoul police song 42 incheon webmaster lee 36 daegu teacher // 테이블의 내용은 위처럼 되어 있다고 가정합니다. 이전 포스팅에서 테이블 만드는 방법에 대해서 설명이 되어있으니 혹시 테.. 2013. 7. 19.
PHP AJAX 구문 AJAX 의 기본적인 정의는 비동기식 즉, 웹페이지에 어떤 내용을 보여줄때 리로딩(새로고침) 되는것을 동기식이라고 하며 리로딩없이 페이지내에서 서버의 데이터를 가져오거나 보여줄때 비동기식이라고 하는데 AJAX 는 그러한 비동기적 방법을 구현 가능케 해줍니다. 우선 예제를 보면서 설명하겠습니다. 아래 나오는 소스의 내용은 이름중에 성만 입력하면 그에 해당하는 이름 리스트를 가져옵니다. 첫번째 파일은 form 구문이며, 두번째 파일은 ajax 관련 파일입니다. 페이지의 리로딩이나 새로고침 없이 두개의 페이지가 서로 연동되는것을 확인할 수 있습니다. ------ ajax_form.php ------ 성씨를 입력하세요: 성씨 입력: 이름: ------ ajax.php ------ // 두 개의 파일이 같은 폴더.. 2013. 7. 18.
PHP SimpleXML 구문 이번장에서는 PHP SimpleXML 에 대해서 포스팅 하겠습니다. SimpleXML 는 PHP5의 새로운 기능입니다. SimpleXML 라는 이름에서 알수 있듯이 XML 요소의 이름과 텍스트를 얻는 가장 간단한 방법입니다. 설치라던지 인스톨 작업은 별도로 없고 PHP 5.0 이상이라면 사용가능합니다. 우선 간단한 예제를 살펴보겠습니다. ------ test.xml ------ Park Kim header contents !! Body contents !! // 위와 같은 xml 파일이 있다고 가정하고(아래 xml.php 와 같은 위치(폴더)에 있어야 함) ------ xml.php ------ // 위 xml.php 파일을 실행시켜보면 SimpleXMLElement Object ( [to] => Par.. 2013. 7. 17.
PHP XML(DOM,SAX) 파싱 구문 이번장에서는 PHP XML 파싱에 대해서 알아볼텐데요. 사실 제가 프로그램 생활을 하면서 xml 파싱은 정말 자신없는 부분이기도 합니다. 그래서 설명하기 어렵겠지만 저도 공부할겸 인터넷에 있는자료 뒤적뒤적 해가며 적어보겠습니다. XML 은 문서를 읽어 문서 내용 및 구조에 대한 접근을 제공하는 소프트웨어입니다. - 엘리먼트, 속성, 엔티티 정보를 생성 - 문서의 정확성을 검증 - XML 문서 처리를 수행하도록 지원함 XML 문서를 처리하기 위한 대표적인 방식은 SAX(Simple Api for Xml) 파싱과 DOM(Document Object Model) 파싱 두 가지가 있습니다. SAX 방식은 이벤트가 발생할때마다 그때그때 처리되기 때문에 메모리 소모가 적지만 잦은 이벤트의 발생은 오히려 더 메모리를.. 2013. 7. 15.
PHP Mysql Update 구문 이번장에서는 Mysql Update 구문에 대해서 포스팅하겠습니다. update 문은 테이블의 데이터를 수정하는데 사용됩니다. 기본구문 UPDATE table SET column1 = value, column2 = value2,... WHERE column = value // 업데이트 구문에서 중요한 점은 where 입니다. 만약 where 구문이 없다면 모든 값이 변경되게 됩니다. 가끔 졸코(졸면서 코딩)할때 무심코 업데이트를 잘못해서 모든값이 생각과 다르게 변경될 경우가 있는데 만약 백업 DB가 없었다면, 그리고 정말 중요한 고객데이터를 건드렸다면 나 자신과 회사에 엄청난 큰 손실을 입게 됩니다. 그래서 예전부터 전 간단한 update 구문이라도 약간의 번거로움이 있어도 우선 select 구문으로 우.. 2013. 7. 11.
PHP MySQL Order By(정열) 구문 이번장에서는 PHP Mysql order by 구문에 대해서 포스팅하겠습니다. order by 는 리스트의 내용을 'ㄱ,ㄴ,ㄷ,ㄹ...', '1, 2, 3, 4...', 'a, b, c, d...' 또는 역순으로 정열을 할 수 있는 구문입니다. 보통 오름차순, 내림차순 이라고 표현을 합니다. 오름차순은 order by ASC, 내림차순은 order by DESC를 사용합니다. 오름차순은 말그대로 올라간다는 의미죠. 그래서 1, 2, 3, ㄱ, ㄴ, ㄷ ... 와 같은 형식으로 정열되며, 내림차순은 그 반대 입니다. 기본구문은 아래와 같습니다. select * from table order by column_name ASC/DESC 관련예제(내림차순 정열) // 위 코드내용을 보면 order by 구문이 .. 2013. 7. 10.
PHP Mysql Where 구문 이번장에서는 Mysql 테이블에서 레코드를 필터링 하는 where 구문에 대해서 알아보겠습니다. where 우리나라 말로 '어디' 입니다. 이전포스팅에 적었던 select 에서 사용되는 구문입니다. 기본구문은 select * from table where field = '박' 처럼 사용가능합니다. // table 에서 field가 '박'인것만을 찾아서 보여달라는 의미입니다. PHP 구문에서 위와 같이 데이터베이스의 내용을 가져오기 위해선 이전에도 말했듯이 mysqli_query() 함수를 이용해야 합니다. 관련예제 2013. 7. 9.
PHP Mysql Select 구문 이번장에서는 Mysql 의 Select 구문에 대해서 알아보겠습니다. SELECT 구문은 데이터베이스에서 데이터를 선택하는 데 사용됩니다. 구본구문 1. "select * from table" 2. "select column_name(s) from table_name" // 기본적인 select 구문은 위와 같습니다. 1번은 모든 칼럼의 내용을 불러오며, 2번같은 경우는 불러올 칼럼만을 나타내는 방식입니다. 위 Mysql 구문을 실행하기 위해선 PHP 의 mysqli_query () 함수를 사용하여 값을 얻을 수 있습니다. PHP와 연동된 관련예제 구문을 살펴보겠습니다. 2013. 7. 8.
PHP Mysql insert into 구문 이번장에서는 데이터베이스 테이블에 새로운 레코드를 삽입할 수 있는 INSERT INTO 에 대해서 알아보겠습니다. insert into 구문은 여러가지 형태의 구문으로 표현할 수 있습니다. 첫번째는 데이터의 칼럼 이름을 지정하지 않고 삽입하는 구문입니다. 관련예제 INSERT INTO table_name VALUES (value1, value2, value3,...) 두번째는 데이터의 칼럼 이름을 포함하여 삽입하는 구문입니다. INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...) 세번째는 데이터와 칼럼 이름을 포함하지만 칼럼등을 한줄씩 나오게 하여 삽입하는 구문입니다. INSERT table_na.. 2013. 7. 5.
PHP 데이터베이스 및 테이블 만들기 이번장에서는 PHP 와 Mysql 을 연동한 데이터베이스와 테이블 만들기에 대해서 알아보겠습니다. 우선 이전 포스팅에서 나왔던 mysqli_query 함수를 이용하여 데이터베이스 만들기에 대해서 알아보겠습니다. 지금부터 "test_db" 를 만들겠습니다. test_db를 만들기 위해서 데이터베이스와 연결이 필요하겠죠. 데이터베이스 만들기 // 첫번째 $conn 의 내용을 보면 localhost 서버에 사용자 아이디와 비밀번호를 넣고 mysqli_connect 함수를 이용하여 데이터베이스와 연결시킵니다. 그리고 오류가 있으면 mysqli_connect_error() 함수에서 오류를 반환합니다. // 그리고 mysql 명령어 "create database"를 이용하여 데이터베이스를 생성합니다. 굳이 해석을 .. 2013. 7. 4.
PHP MySQL 소개 이번장에서는 php + mysql 에 대해서 알아보겠습니다. 모든 웹언어가 그렇듯 php도 데이터베이스를 연결하고 제어할수 있습니다. php에 oracle, ms-sql, my-sql 등의 데이터베이스를 사용할 수 있는데 실무적으로 가장 많이 사용하고, 가장 인기?있는 데이터베이스는 mysql입니다. 게시판을 만든다던지, 예약프로그램등을 만든다던지 할 경우 내용을 저장, 수정, 삭제등을 하기 위해 데이터베이스는 필수 요소입니다. MySql 의 가장 큰 장점은 무료로 사용할 수 있다는 점입니다. 그리고 mysql은 웹에서 사용되고, 서버에서 실행되며, 크고 작은 애플리케이션에 사용할 수 있으며, 매우 빠르고 안정적이고, 표준 SQL을 지원하며, 다수의 플랫폼에서 컴파일할 수 있습니다. 그리고 현재 개발, .. 2013. 7. 2.
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.