문제

다음과 같이 $ _server [ "Document_Root"]를 사용하여 헤더 파일의 스타일 시트에 링크하려고합니다.

<head>
    <?php
        print "<link href='".$_SERVER["DOCUMENT_ROOT"]."/include/style.css' rel='stylesheet' type='text/css' />";
    ?>
    <title>eLMS</title>

</head>

로컬로 테스트하고 있기 때문에 다음과 같은 경로를 얻고 있습니다.

<head>
    <link href='C:\Users\wretrOvian\Documents\eLMS\site/include/style.css' rel='stylesheet' type='text/css' />      <title>eLMS</title>

</head>

그리고 이것은 Firefox에서 렌더링되지 않습니다. 그러나 그것은 IE에 있습니다. 이것은 분명히 검증 문제입니다. 그러나 동일한 결과로 서버에서 동일한 코드를 시도했습니다. :(

이 문제를 해결하려면 어떻게해야합니까? 최종 제품은 로컬 서버에서 실행되지 않을 수도 있거나 실행되지 않을 수도 있으므로 유연한 코드가 필요합니다.

PHP 5.2.8과 함께 Abyss Webserver X1을 사용하고 있습니다

절대 경로를 사용해야합니다. 앱의 모든 하위 디렉토리에 포함 폴더를 복사하고 싶지 않기 때문에 절대 경로를 사용해야합니다. 모든 위치에서 그것을 참조 할 수 있어야합니다.

도움이 되었습니까?

해결책

이것 만 사용하십시오 :

<head>
    <link href='/include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

또는 로컬로 사용되는 경우 :

<head>
    <link href='../include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

문서 루트는 HTML에서만 내부 사용 (PHP 내부)에만 해당됩니다.

다른 팁

사용해보십시오 :

$_SERVER['HTTP_HOST']

파일 시스템 절대 경로를 사용하지 말고 문서 루트를 기준으로 (포함하지 않음) 경로를 사용하십시오. 이 경우 그냥 /include/style.css.

브라우저에서 로컬 파일을 사용하려면 file 계획.

file://C:/dir/file.ext
file:///dir/file.ext

두세 번의 슬래시, 아마도 드라이브 문자가있는 창에 2 개 이상의 슬래시가 필요할 지 확실하지 않지만, 뿌리 슬래시가있는 *nix에 3 개가있을 것입니다. 시도 해봐! :피

사용해보십시오 DIRECTORY_SEPARATOR 끊임없는. Windows Systems 및 / On *Nix 시스템에서 를 반환합니다.

우선, 문서 루트는 문자 그대로 웹 서버 /가있는 디렉토리입니다. 일반적으로 웹의 컨텐츠와 함께 사용하고 싶지 않습니다. 사용 / 대신.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top