2014-04-15 4 views
0

내 웹 사이트의 헤더가 동일하기 때문에 코드를 다시 작성하고 스타일 시트를 연결하는 대신 <?php include ;?>을 사용하여 모든 문서의 맨 위에 배치했습니다. .PHP 이미지 파일이 표시되지 않음

제 문제는 헤더와 함께 제공되어야하는 로고가 표시되지 않는 것입니다. 당신이 볼 수 있듯이 그것이 및 "Picture2.png"라는 로고 이미지 폴더입니다

파일 구조

File Structure

enter image description here

는, 헤더 파일입니다. 제대로

enter image description here

주를 표시하는 '밤은 헤더의

<nav id="navigation"> 
<ul id="navList"> 
    <li id="navLogo"><img src="/image/Picture2.png"/>Computing</li> 
    <li><a class="navItem" href="gallery.php">Gallery</a></li> 
    <li><a class="navItem" href="topics.php">Core Topics</a></li> 
    <li><a class="navItem" href="courseview.php">Courses</a></li> 
    <li><a class="navItem" href="index.php">Home </a></li> 
</ul> 
</nav> 

부 (header.php에서)

PHP

<?php include('./_/includes/header.php'); ?> 

HTML **에서 다른 모든 것들 헤더가 올바르게 표시됩니다. 로컬 서버를 사용하고 있습니다. 광고를 작성해야합니다. ifference

+0

왜'_ /'를 사용 ... 귀하의 의견에이 상수를 가져 "필요"를 사용? 'include ('./ includes/header.php')'를 시도 했습니까? –

+0

차이는 없지만 이미지는 모두 올바르게 표시됩니다. – KyleHodgetts

+0

위의 댓글을 긁어 보면 현재 사용중인 이미지가 표시됩니다. –

답변

2

이미지의 절대 경로를 사용하고 있습니다.

당신은 넣어 상대 경로를 사용해야합니다

<img src="_/includes/image/Picture2.png"/> 

대신

<img src="/image/Picture2.png"/> 
+1

그 말로는 그의 docroot가 그가 생각하는 것이 아닙니다. – Ohgodwhy

+0

그건 아무것도 바뀌지 않았고, 처음에 시도 했었습니다. – KyleHodgetts

+0

다른 파일 (아마도 index.php)을 포함하고있는 파일의 위치를 ​​고려해야합니다. 페이지에 액세스하는 데 사용하는 URL을 확인한 다음 거기에서 시작하는 상대 경로를 작성하십시오. (나는 나의 대답을 바꿨다) – Pierrickouw

0

그래, 이미지의 절대 경로를 사용하여 HES,하지만 프로젝트가 다음 서버 루트 폴더에없는 경로의 폴더 이름을 알리는 것이 필요합니다 ...

<img src="/finalprojectneat/image/Picture2.png">을 사용하면 모든 페이지에 로고가 표시됩니다. 하지만 프로덕션 서버로 보낼 때 "최종 프로젝트"폴더가 없으므로 "projectneat"을 사용하여 모든 경로를 제거해야하므로 가장 많이 언급되지는 않았습니다.

하나의 해결책은, 당신의 "index.php를"에서 상수를 정의하는 "의 index.php"에 필요하지 않습니다하지만 당신은 안에 다른 파일에이 상수를 넣으면 프로젝트

define ('_IMAGES_', realpath(dirname(__FILE__) . '/image')); 

의 루트 폴더에 필요한 루트 폴더는

하고 뷰에서

<?php echo _IMAGES_ . '/Picture2.png'; ?> 
관련 문제