>  Q&A  >  본문

다른 폴더의 다른 위치에 있는 PHP 파일을 포함하는 방법

<p>내 사이트의 대부분은 루트 디렉토리에 있습니다. 이 디렉토리에는 "css", "functions" 및 "images" 폴더가 있습니다. index.php나 다른 루트 파일에 PHP 파일을 포함시키면 모든 것이 잘 작동합니다. 올바르게 포함되고 실행됩니다. </p> <p>그런데 "blog"라는 폴더를 만들면 문제가 발생합니다. 이는 CMS와 자체 "루트" 파일이 포함된 완전히 새로운 별도의 루트 폴더입니다. 메인 루트의 CSS나 메인 루트의 "functions" 폴더에 있는 PHP 파일을 포함하려고 하면 모든 것이 충돌합니다. 이를 포함하려면 <code>../functions/myfile.com</code>을 사용해야 한다는 것을 알고 있습니다. 하지만 이 파일에는 다른 파일도 포함되어 있으므로 작동하지 않으며 다른 파일도 올바르게 포함되지 않습니다. </p> <p>이 문제를 해결할 수 있는 방법이 있나요? </p>
P粉447002127P粉447002127397일 전459

모든 응답(2)나는 대답할 것이다

  • P粉976737101

    P粉9767371012023-08-22 16:44:45

    제가 올바르게 이해했다면 두 개의 폴더가 있는데, 그 중 하나는 PHP 스크립트가 있는 곳이고 다른 폴더로 include 들어가고 싶으신가요?

    이런 경우에는 경로를 올바르게 따르기만 하면 됩니다. 폴더 구조가 다음과 같다고 가정합니다.

    으아아아

    이것이 여러분이 생각해낸 폴더 구조이고, "Script.php" 파일을 "index.php" 폴더에 포함시키려면 다음과 같이 포함해야 합니다:

    으아아아

    제가 하는 방식은 시각적입니다. 파일 구조를 보기 위해 index.php 위에 마우스 포인터를 놓고 폴더 위로 올라갈 때마다 또 다른 "../"를 입력합니다. 그런 다음 들어가려는 폴더 위의 폴더 구조로 올라가고 있는지 확인해야 합니다. 그 이후에는 일반 폴더 계층 구조입니다.

    회신하다
    0
  • P粉614840363

    P粉6148403632023-08-22 09:38:21

    각 사이트 내에서 $_SERVER['DOCUMENT_ROOT']를 사용하여 루트 디렉터리에 액세스할 수 있습니다. 테스트용으로 경로를 인쇄하여 제대로 작동하는지 확인할 수 있습니다. 올바른 방법으로 수행한 경우. 로컬 서버 경로를 표시하고 싶지는 않을 것입니다(예: contains requires ).

    사이트 1

    으아악

    사이트 1에 포함된 파일은 다음 위치에 있어야 합니다.

    으아악

    사이트 2

    으아악

    사이트 2에서 사이트 1의 포함 파일에 액세스하기 위한 실제 코드:

    으아악

    슬래시를 제외하여 파일에 액세스하려고 하면 쿼리가 수행되는 파일에 대한 상대 document rootroot경로 만 사용됩니다(오류가 없거나 특정 플랫폼에 국한되지 않음). 으아악

    포함된 경로는 사이트 프런트엔드(온라인)의 코드에 위치하지 않으며

    프로덕션 환경에서만 안전하게 사용해야 합니다.

    또한 사이트 자체의 URL의 경우 도메인 이름을 기준으로 만들 수 있습니다. 브라우저는 현재 보고 있는 페이지가 무엇인지 알기 때문에 나머지 부분을 자동으로 채웁니다. 따라서 다음을 사용하지 마세요:

    으아악

    대신 사용:

    으아악

    좋은 SEO를 위해서는 블로그의 URL이 다른 도메인에 존재하지 않는지 확인해야 합니다. 그렇지 않으면 중복 사이트로 표시될 수 있습니다. 이 경우

    Site 1 Only에 대한 robots.txt 파일에 다음 줄을 추가할 수도 있습니다. 으아악

    다른 가능성:

    귀하의 IP 주소를 찾아 다음 코드 조각을 포함하세요: 으아악

    ISP가

    IP를 변경하는 경우(예: DCHP 동적 IP가 있는 경우) 결과를 보려면 이 파일의 IP를 변경해야 합니다. 해당 파일을 포함 파일에 넣은 다음 디버그 페이지에서 요구하는 것이 좋습니다.

    브라우저의

    콘솔 로그와 같은 최신 방법에 액세스할 수 있는 경우 다음 코드를 사용하여 브라우저의 디버그 인터페이스에서 볼 수 있습니다. 으아악

    회신하다
    0
  • 취소회신하다