用PHP直接向后

时间:2012-06-25 13:44:33

标签: php

如何直接回到<?php include("./php/content/index.php"); ?>

Asin,如果您已经在页面上:

  

www.address.com/about/index.php

如何将其链接到文件:

  

www.address.com/php/menu.php

我知道如果你放<?php include("www.address.com/php/content/index.php"); ?>就行了,但我被告知不要使用那些方法,因为这是非常糟糕的做法。

2 个答案:

答案 0 :(得分:2)

您可以使用两个点向下移动文件夹结构:

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

您还可以在服务器上使用文件的完整路径,这样您就可以在任何地方使用相同的行:

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

使用带有include()的网址是不好的做法,因为

  • 您正在使用HTTP检索页面,即使该文件位于您自己的服务器上
  • 服务器将解析PHP并仅传递HTML内容,因此您将失去例如变量
  • 您必须从Internet访问该文件。使用文件系统路径,您可以将文件放在webroot之外。

答案 1 :(得分:1)

以下示例开始来自 about / index.php

在相对锚中:

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

绝对锚:

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

除非您指的是服务器端,否则您可以使用header

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

include

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

更好的方法是在您的网站根目录中有一个公共库,您可以从中引用项目中所有文件的基本位置。也就是说,如果您在每个页面上都包含 /common.php ,则可以存储:

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

然后绝对引用任何文档中的包含:

include(SITE_ROOT . 'php/menu.php');