CI 묻고 답하기

제목 src='img/my.jpg'의 주소가 localhost:8080/member-view/no/img/my.jpg와 같이 바뀌어 그림이 뜨지 않아요.
카테고리 CI 4 관련
글쓴이 바위샘 작성시각 2024/01/19 11:20:48
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 2714   RSS

선배님들의 조언을 구합니다. 

route.php 설정입니다.

$routes->get('member-view/no/(:num)', 'Member::view/$1');

 

Member 클래스의 함수 view입니다.

public function view()

    {

        $url = new \CodeIgniter\HTTP\URI(current_url());

        $model = new \App\Models\memberModel;

        $no = $url->getSegment(4);

        $result = $model->getRow($no);

        $data = $result;

        echo view('member_header');

        echo view('member_view', ['data' => $data]);

        return view('member_footer');

    }

여기서 view의 member_head.php에서 img태그의 src입니다. my.jpg는 public/img/my.jpg와 같이 저장되어 있습니다.

<img src="img/my.jpg" alt="Logo" height="36px">

 

그런데 웹브라우저 주소로 localhost:8080/member-view/no/4와 같은 방식으로 호출하면 member_header에 설정된 주소 "img/my.jpg"에서 이미지를 찾지 못하고 localhost:8080/member-view/no/img/my.jpg에서 이미지를 찾으려 하다가 실패하게 되네요. 무슨 문제일까요? 나머지는 정상 작동합니다. 도움을 주시면 대단히 감사하겠습니다. 꾸벅^^

 다음글 CI4 쿼리 빌더 사용 시, JSON 타입 SELECT... (1)
 이전글 호스팅 이용 시 CI4 사용이 가능할까요? (1)

댓글

변종원(웅파) / 2024/01/19 11:53:39 / 추천 0
<img src="./img/my.jpg" alt="Logo" height="36px"> 이거는요? ^^
바위샘 / 2024/01/19 13:14:16 / 추천 0
마찬가지입니다. member_header에는 css와 js 파일도 같이 걸려 있는데 모두 주소가 localhost:8080/member-view/no/js/my.js 와 같은 방식으로 잡힙니다. 
cilove / 2024/01/19 13:16:55 / 추천 0
/img/my.jpg 이런식으로하셔야합니다.
바위샘 / 2024/01/19 13:21:49 / 추천 0

그런데 다른 view 파일과 함께 써 보면 바로 잡히고 있습니다.

예를 들면 라우트에서 

$routes->get('member-list', 'Member::memberList');

로 설정하고 

Member 컨트롤에서 메소드로

public function memberList()
    {
        $model = new \App\Models\memberModel;
        $data = $model->index();
        echo view('member_header');
        echo view('member_list', ["data" => $data]);
        return view('member_footer');
    }

로 설정되었을 때 브라우저에서 localhost:8080/member-list주소를 호출하면 모든 것이 정상적으로 표시됩니다.

바위샘 / 2024/01/19 13:23:54 / 추천 0
감사합니다. 해결되었습니다. src="/img/my.jpg"로 하니 해결됩니다. 모두 관심가져주시고 애 써주셔서 감사합니다. 꾸벅^^
바위샘 / 2024/01/19 13:25:39 / 추천 0
혹시 왜 그런지 설명 좀 부탁드려도 될까요? src="img/my.jpg"만으로도 작동되는 경우도 있어서요.
cilove / 2024/01/19 14:43:52 / 추천 0

img/my.jpg 나 ./img/my.jpg 는 현재 주소로 부터 이미지를 찾는거구요

/img/my.jpg 처럼 /로 시작 하면 index.php가 있는 웹루트에서부터 이미지를 찾습니다.

바위샘 / 2024/02/02 21:08:24 / 추천 0
감사합니다. 꾸벅^^