홈으로 홈으로 | 무료회원가입 | 아이디/비번찾기 | 즐겨찾기
추천음악방송메인홈1대1상담음악방송청취
okTrot(구독해주세요)
전통가요(구독해주세요)
뽕짝아가씨(구독해주세요)
음악가사 검색
온라이브스토어(앱다운로드)
온라이브(방송등록및청취)
비디오 베스트 50
금영노래방
TJ노래방
유튜브 동영상 다운로드
POP Player
신나는 고스톱
컴퓨터 오목
작은 음악다방
운.영.자.1대1.상담
FAQ\지원.프로그램
Q&A\고.객.지.원

자동러시 웹플레이어신청

보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
include와 require ?
7년 전
요즘은 노프레임으로 구성된 홈페이지가 많이 있습니다.
노프레임이란....프레임이 없다는거죠......

암튼...이런 노프레임 홈페이지를 만드려면.....
예를들어 위에 메뉴부분은 모든 페이지마다 다 넣어줘야 하겠죠...
똑같은 소스를 계속해서 넣어줘야 합니다.......

그런데 그러다가 메뉴하나를 수정할 일이 생기면 -_-?
메뉴가 들어간 모든 페이지를 다 수정해 줍니다..........;;;

하지만.......-_,- PHP를 사용하신다면 그런 수고를 덜수가 있죠;;

자 그럼 이번엔 다른얘기......
어떤 함수를 만들었습니다.....그리고 많은 페이지에서 그 함수를 사용합니다.
그래서 그 모든 페이지에 그 함수 소스를 다 집어 넣었습니다...
그러다가 함수내용을 수정할일이 생기면 -_-?
함수가 들어간 모든 페이지를 다 수정해 줍니다....... '_';;

하지만.......-_,-


위 두경우를 위해 include와 require라는게 있습니다.
둘다 모두 포함한다는 뜻을 가지고 있습니다...

일단 include에 대해 알아 볼까요~

include는 말그대로 다른 문서를 현재 문서에 포함시켜 주는것입니다.
예제를 보시죠....

>>> a.php
<?echo"P";?>

>>> b.php
<?echo"H";?>

이렇게 두개의 문서가 있습니다.
a.php 에서는 실행하면 P를 찍어 주겠죠..?
p.php 에서는 H를 찍습니다.

그런데 우리는 이 두문서를 이용해서 PHP를 찍어 볼까 합니다...
-_-?오또케?

c.php라는 문서를 만들어 보죠.......아래와 같이...

<?
include"a.php";
include"b.php";
include"a.php";
?>

실행을 해보면 PHP가 찍힐겁니다....
자......살펴 볼까요..?
include라는것은 include된 문서의 소스를 현재의 문서로 가져옵니다.
그러니까 우리가 만든 c.php의 소스는 아래와 같이 되어버리는거죠..

<?
echo"P";
echo"H";
echo"P";
?>

그렇죠? include"a.php";에서 a.php의 소스를 가져오기때문에 P를 찍고..
include"b.php";에서는 b.php의 소스를 가져와서..H를 찍습니다.

include의 간단한 예제를 하나 더 볼까요...
보통 라이브러리파일 이라고 해서 사용되는 함수들을 한개의 파일에 모아놓고 함수가 사용되는 문서에서 include해서 함수를 사용합니다.

>>> lib.php
<?
function TEST() { .... }
?>

위와 같이 lib.php에서 TEST()라는 함수가 선언되었죠...
그럼 test.php에 이렇게 해보죠..

>>> test.php
<?
include"lib.php";
TEST();
?>

lib.php를 include했기때문에 lib.php의 모든 함수를 사용할수 있게 되었습니다.
그래서 TEST()함수를 호출할수 있는 것이죠...
함수 이외에도 변수도 include하여 사용이 가능하다죠;;;

자 그럼.....더 재미난걸 해볼까요?...

>>>top.php
<table border=1>
<tr><td>

>>>bottom.php
</td></tr>
</table>

위 두소스를 볼까요...
top.php에서는 table의 시작입니다...<table>태그가 들어가고...
<tr>로 행을 만들고 <td>로 셀에 내용을 집어 넣을 준비가 된거죠..
그리고 끝입니다.

bottom.php3에서는 </td>로 셀을 닫고 </tr>로 행을 끝낸다음 </table>로 table을 끝냅니다.

이 두소스를 include하는 문서를 만들어 볼까요..

>>> middle.php
<?
include"top.php";
echo"PHP";
include"bottom.php";
?>

자....볼까요.......
먼저 top.php를 불러와서 테이블을 시작합니다....
그리고 그 테이블 속에 PHP라는 문자를 찍어준다음에...
bottom.php로 테이블을 끝내는것이죠....

쉽죠?-_-

노프레임 문서는 이런형태로 만들어 집니다...
예를 들면 한 문서의 소스에서 메뉴부분만 쏙 뺍니다....
그리고 그 소스를 다른 문서로 만든다음에...
메뉴가 들어가는 부분에 include해주면 끝입니다.
사실 프레임보다 훨씬 편한방법입니다...-_,-

뭐 꼭 노프레임이 아니더라도 배너 같은곳에 쓰시면 편하겠죠...
배너부분만 include해놓으면 나중에 수정하기 편할겁니다.

그런데 주의 할점은 다른경로의 문서를 include할때 입니다.
include는 상대 경로를 써서 해주는게 좋으며....
이미지 태그나 링크등을 주의 해야 하는데..... 예제를 보실까요?~

>>> http://DOMAIN/main/top.php
<img src=image/top.gif>

위 문서는 절대 경로가 http://DOMAIN/main/top.php 입니다.
그리고 문서 내용에 img태그에서는 상대 경로로 image/top.gif 라는 이미지를 띄우는거죠.....그러니까 image라는 폴더에 있는 이미지 입니다.

그럼 이걸 include할 문서를 보죠;;

>>> http://DOMAIN/index.php
<?include"main/top.php";?>

상대경로로 include했습니다. 이 index.php라는 문서는 경로상으로 root에 위치하고 include될 top.php라는 문서는 main이라는 서브디렉토리에 위치하는 거죠...
그래서 상대경로로 main/top.php라 주었습니다.
그런데 문제는 이렇게 하면 이미지가 안뜬다는거죠......-_-;엇

include가 되면 일단 가져온 소스는 현재 문서로 맞춰집니다.
그래서 <img src=image/top.gif> 라는 소스가 index.php의 소스로 간주 되기 때문에 결국 http://DOMAIN/image 라는 폴더에서 top.gif라는 이미지를 찾는 다는 얘기 입니다. @_@결국 경로가 꼬여 버리는거죠;;

해결 방법은 되도록 같은 경로에서 include하거나....
include될 문서의 모든 태그에서는 절대 경로를 사용합니다.
(이미지 또는 링크...등 주소가 들어가는 모든 태그)

수정된 소스를 보죠;;

>>> http://DOMAIN/main/top.php
<img src=http://DOMAIN/main/image/top.gif>

이렇게 해주면 되겠죠?^^

자 그럼 대충 include에 대해서 감을 잡으셨으리라 생각 됩니다.
그럼 require는 뭔가요?-_-?

require도 include와 같이....다른 파일을 불러와줍니다...
그런데 둘은 다르다지요;;;

가장 큰 차이점은...include는 조건문이나 반복문에서 사용할수 있습니다.
예를 들면...

if(~~~) {include"....";}

위와 같이 if의 조건이 참이면 include하라...라는게 된다는거죠;;;
그러나 require는 조건이 참이든 거짓이든 무조건 가져옵니다. -_-; 무식한넘;;
for문이나 while문에서도 마찬가지 이고요..

그리고 include는 한 문서에서 여러번 사용이 가능 합니다.
그러니까 같은 파일을 여러번 불러 올수가 있다는건데....
require는 한번밖에 불러올수가 없습니다....

-_-이렇게 보니 require가 무지 후져 보이네요;;;
그런데...한가지 require가 좋은점은...
include보다 속도가 빠르다네요;;;^^;

그러니까 위에서 얘기했던 함수라이브러리 파일같은 경우는 어짜피 한번만 불러오면 되는것이니까 속도가 빠른 require를 사용하시는게 좋겠죠~?

(그런데 처음에는 include를 사용하시다가 작업이 완료된후 require를 사용하시는게 좋습니다.
include에서는 에러메세지가 include된 파일을 중심으로 표시되기때문에 그 위치를 찾기 쉽지만 require는 불러들여진 상태로 에러메세지가 표시되기 때문에 에러메세지가 가르키는 위치를 찾기 힘들기 때문입니다)
추천추천 : 221 추천 목록
번호 제목
3,013
 윈도우10 시스템 파일 및 Dism 검사
3,012
 텍스트 줄바꿈, 글자자르기 CSS
3,011
 jQuery Mobile에서 유용한 코드 10가지.
3,010
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,009
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,008
 [jQuery] jQuery Quick API
3,007
 [ transition ] 링크 hover 색상 변화 속도 조절
3,006
 PHP 5.3.0 에서 사라진 함수들 대체
3,005
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
3,004
 PHP 날짜 형식 및 계산하기(날짜 더하고 빼기)
3,003
 jQuery Mobile에서 유용한 코드 10가지.
3,002
 값이 배열 안에 존재하는지 확인하는 in_array함수
3,001
 사용자가 웹브라우저에서 뒤로가기를 했을때 감지하는 방법
3,000
 [jQuery]버튼 활성화, 비활성화
2,999
 jQuery show() / hide() / toggle() 사용법
2,998
 jquery 여러가지 이벤트
2,997
 border-radius 속성
2,996
 네이버 오픈API 음성합성 API 사용하는 PHP 샘플코드
2,995
 UTF8 한글 자르기..
2,994
 iconv 에러 발생시 계속 처리하기 옵션
2,993
 [PHP] 현재 페이지의 도메인 , URL 정보 알아내기.
2,992
 [PHP] 막강 기능 배열..
2,991
 [CSS] - Input clear `X ` 버튼 제거 ( IE, Chrome, Firefox )
2,990
 [Mobile] - 모바일웹 Href 태그속성들
2,989
 [JqueryMobile] - 현재화면의 가로세로 사이즈 구하기
2,988
 [JqueryMobile] - 화면의 가로, 세로 사이즈 구하는 방법
2,987
 jquery로 가로 넓이(width), 세로 높이(height) 자동 조절
2,986
 iframe 높이 jquery로 자동조절하기
2,985
 jQuery 오른쪽 영역의 높이를 왼쪽 영역의 높이와 동일하게 하기
2,984
 jquery에서 테이블 짝수, 홀수 번째 TR 배경색 변경하기
2,983
 jquery에서 테이블에 마우스 오버시 해당 행의 배경색상 변경하기
2,982
 jquery 스크립트내 특정값 확인하기 (디버깅)
2,981
 jquery cookie (jquery.cookie.js)
2,980
 jquery div 기본 넓이, 높이 계산 및 padding, border 포함 하기
2,979
 jquery 다른버전 추가 사용시 충돌 방지 (카페24 스마트디자인 기본내장 jquery 1.4.4 버전과 충돌시 해결방법)
목록
추천음악방송
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
앵콜트로트
뽕짝아가씨
KBS가요무대
작은 음악다방
종합성인가요방
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
Dance&Remix
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
JP\CN
POP TOP BEST
K.R.노래방

추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
가요1번지(종합)
뮤직하우스
동요\연변\반주\기타
가요축제\트롯1번지
댄스\메들리\리믹스
카페\명상\경음악\기타
추천가요\POP\기타
최신가요\인기가요
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.