제목 | 경로 설정 질문이요 | ||
---|---|---|---|
글쓴이 | 앙마 | 작성시각 | 2013/05/28 14:15:25 |
|
|||
js나 css 혹은 img파일을 사용하려고 합니다 views에 폴더를 하나 만들어서 경로 사용시 <img src="폴더명/파일명.jpg"> 이런식으로 하면 이미지를 인식하지 못하네요 물론 js나 css도요 경로 설정은 어떻게 해야하나요?? |
|||
다음글 | 페이징질문이요 (2) | ||
이전글 | DB Connection 예외처리 (6) | ||
인스카
/
2013/05/28 14:31:24 /
추천
0
view 안에 만드시면 안되고, index.php가 있는 루트 하위에 적당한 폴더에 넣은 뒤, .htaccess 파일에서 처리를 해주셔야 합니다.
|
앙마
/
2013/05/28 14:45:09 /
추천
0
인스카//
메뉴얼 무엇을 찾아보면 나오나요;; |
키
/
2013/05/28 15:13:57 /
추천
0
앙마 //
메뉴얼... 이라기 보단 html에 가깝겠네요 view에서 파일을 연다고 생각하지 마시고 실제 ci가 열리는 url주소를 기준으로 생각해주세요 만약 url주소가 test.com/test/test/1 이런식이고 view에서 경로를 src="test/1.jpg" 라고 했다면 실제 브라우져가 해석하는 경로는 test.com/test/test/1/test.1.jpg 입니다. 하지만 ci 의 url 구성 원리는 controller와 function + 인자 이니 실제 존재하지 않는 경로를 찾아가게 됩니다. 따라서 상대경로를 쓰는것은 어렵다고 보시면되고 (불가능하지는 않겠지만...어렵긴 하겠죠) "/img/1.jpg" 처럼 절대경로로 작업을 하시는게 속편합니다. 물론 저 폴더는 htaccess에서 rewrite 규칙을 적용받지 않도록 작성해주셔야 합니다. |
risa
/
2013/05/28 15:20:20 /
추천
0
일반적인 방법을 하신다면
application system 와 같은 곳에 css js img 이렇게 만드신다면 접근은 ./css/ <- 이런식의 상대 접근이 됩니다. [점 or 피오리드 or 도트.... 아무튼 땡 하나 주의] 절대경로를 하고 싶으시면 BASE_URL 상수 정의 하시고 $http = "http://"; $host=$_SERVER["HTTP_HOST"]; $domain = $http.$host; define("BASE_URL",$domain); BASE_URL."/css"; 이런식의 접근도 됩니다. |
앙마
/
2013/05/28 15:27:24 /
추천
0
키, risa//
답변 감사합니다 ci초보라 잘 이해가 되지는 않지만 일단을 넣어보는 식으로... 그런데 risa님 베이스 유알엘 설정은 어디에 있는 것을 설정해야 하는건가요? config.php를 말씀하시는 건가요? 그렇다면 application과 같은 라인에 만들었을 경우 views에 있는 php파일에서 ./파일명.css 이런식으로 사용하면 되는건가요? ====================================================================================== 경로가 나오기는 하지만 css소스를 보여주는 것이 아닌 그냥 페이지를 다시 찍어주네요ㅠㅠ 인덱스 죽이기를 안해서 그런가;; |
risa
/
2013/05/28 16:01:42 /
추천
0
일단 편의를 위해서 index.php 는 죽이시구요.
경로는 CI하고 상관없습니다. 이건 html 기본 입니다. 요컨데... application system 밖에 있는건 당연히 일반 영역입니다. CI를 설치했다고 해당 사이트가 전부 CI화가 되진 않습니다. CI 없이 /root/ 루트 디렉토리에 /root/css/ /root/js/ 접근 방법은? 하고 같은 문제입니다. 컨트롤러에서 호출하든 뷰에서 몇단씩 밑으로 내려가든 ./css/common.css <- 이런식의 접근은 별 문제없습니다. 좀더 가독성과 호환성을 위해서 BASE_URL.'/css/common.css'; 을 사용할 뿐이지요. 상수 정의는 constants.php 에서 합니다. config 폴더에 있습니다. 전 귀찮아서 아예 jquery 랑 bootstrap 관련 JS 와 CSS 는 상수로 정의 했습니다. |
앙마
/
2013/05/28 16:53:40 /
추천
0
risa//
답변 감사합니다 상수 정의하신 자료좀 올려주시면 안될까요?? |
변종원(웅파)
/
2013/05/28 17:33:09 /
추천
0
포럼소스 받아서 config/constants.php 보시면 도움이 될겁니다
|
앙마
/
2013/05/29 09:29:07 /
추천
0
웅파//
소스를 다운받아서 보니 $config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); $config['base_url'] .= "://" . $_SERVER['HTTP_HOST']; $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']); 이게 있더군요;; 저희는 그냥 ip주소로 168...... 이런식으로 사용하는데 이걸 그대로 사용해도 되는건가요? config저부분을 고쳐주지 않아서 그런지 A PHP Error was encounteredSeverity: Notice Message: Use of undefined constant JS_DIR - assumed 'JS_DIR' Filename: views/head.php Line Number: 9 JS_DIR/list.css">이런 에러가 나네요ㅠ_ㅠ css는 적용되지 않고요;; 물론 application이랑 같은 라인에 include 라는 파일을 만들고 그 안에 css라는 파일을 넣어서 만들어 놓았습니다 조언좀 해주세요 |
변종원(웅파)
/
2013/05/29 10:03:15 /
추천
0
index.php 에서 var_dump($_SERVER); 찍어보세요.
그중에 아이피 나오는게 있을 겁니다. 무조건 아이피로만 사용한다면 constants.php의 $_SERVER['HTTP_HOST'] 를 아이피가 나오는걸로 바꾸면 됩니다. 그리고 위 에러는 JS_DIR라는 상수를 선언하지 않고 뷰에서 사용한겁니다. 에러 잘 보세요 |
변종원(웅파)
/
2013/05/29 10:05:49 /
추천
0
그리고 시간 내서 포럼소스의 디렉토리 구조, 상수 사용 등등 보세요.
사람마다 스타일은 다르겠지만 실무에서 이렇게 저렇게 쓰다가 나름 최적화한 구조를 쓴겁니다 다른 사람이 만든 소스를 분석해보고 왜 저렇게 만들었을까 고민을 해보세요. 나라면 이렇게 만들거 같은데.. 뭔가 다른 이유가 있나.. 이게 실력이 느는 비법입니다. |
noh
/
2013/05/29 14:21:04 /
추천
0
기술 검토중에 좋은 정보를 얻었네요.
BASE_URL을 상수로 설정하면 여러모로 편하겠네요. 감사합니다. |