【问题标题】:PHP include with varying URI structurePHP 包含不同的 URI 结构
【发布时间】:2012-07-13 19:26:20
【问题描述】:

我正在使用 .htaccess 文件重写所有 URI 地址以将用户带到 index.php,其中一些代码根据 URL 确定要包含的文件。

但是,如果 URL 位于标头的子文件夹中,则包含函数不会获取文件。

例如。

index.php 包含一个位于examplefolder/content/page.php 的文件。然后该文件在内容页面上包含一个标题,但 include('../header.php'); 不起作用。网址是example.com/news/latest

我怎样才能让它工作?

【问题讨论】:

    标签: php include directory


    【解决方案1】:

    您可以使用chdir() 函数更改网络服务器上的当前工作目录,以使您的相对路径正常工作。

    要查看当前工作目录是什么,只需echo getcwd(); 这样做后,您可能会意识到您不需要相对路径,您可以根据当前工作目录构建包含(如果您要重写 index.php,那么您的所有页面都将从相同的基本路径开始,即 web 根目录)。

    【讨论】:

      【解决方案2】:

      如果您将所有 URL 重写为 /index.php,则所有请求都将从 / 目录(即文档根目录)进行。

      因此,如果您包含examplefolder/content/page.php 并从那里包含文件examplefolder/header.php,那么这正是您要编写的内容,因为包含文件不会更改当前执行线程中的工作目录。

      例如

      include('examplefolder/header.php');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-11
        • 1970-01-01
        • 2016-11-21
        • 2022-01-25
        • 1970-01-01
        • 2017-07-12
        • 2013-07-12
        相关资源
        最近更新 更多