2012-06-25 3 views
0

<?php include("./php/content/index.php"); ?>과 어떻게 직접 연락합니까?PHP로 역방향으로

아신, 페이지에 이미있는 경우 :

www.address.com/about/index.php

이 파일에 연결 어떻게 :

www.address.com/php/menu.php

나는 당신이 pu t <?php include("www.address.com/php/content/index.php"); ?>하지만 그 방법을 사용하지 말라는 것은 매우 나쁜 습관이었습니다.

답변

1

다음 예제에 대해 에서을 시작 /상대 앵커에서

의 index.php : 절대 앵커에서

<a href="../php/menu.php">Menu</a> 

: 당신이 의미하지 않는

<a href="/php/menu.php">Menu</a> 

서버 쪽에서는을 사용할 수 있습니다.210 :

Header("Location: http://address.com/php/menu.php"); 

또는 include :

Include("../php/menu.php"); 

더 좋은 방법은 당신이 당신의 프로젝트의 모든 파일에 대한 기본 위치를 참조 할 수있는 웹 사이트의 루트에 공통 라이브러리를하는 것입니다.

include(SITE_ROOT . 'php/menu.php'); 
: 다음

define('SITE_ROOT', dirname(__FILE__)); 

항상 절대적으로 참조되는 모든 문서에서 포함 : 당신은 모든 페이지에 포함 /common.php, 당신은 다음 상점 수 있던 경우에 즉, 말을하는 것입니다

2

두 점으로 폴더 구조를 아래로 갈 수 : 동일한 린을 사용할 수 있도록

include("../php/content/index.php"); 

또한 서버에서 파일의 전체 경로를 사용할 수 있습니다 사방 E :

include("/var/www/php/content/index.php"); 

include()으로 URL을 사용하여 나쁜 관행입니다

  • 이 파일은 자신의 서버에있는 경우에도, HTTP를 사용하여 페이지를 검색하고 있기 때문에
  • 서버가 파싱 PHP와 HTML 콘텐츠 만 전달하므로 예를 잃게됩니다. 변수
  • 인터넷에서 파일에 액세스 할 수 있어야합니다. 파일 시스템 경로를 사용하면 파일을 웹 루트 외부에 둘 수 있습니다.
관련 문제