【问题标题】:php include on base of first folder in the path of urlphp包含在url路径中第一个文件夹的基础上
【发布时间】:2014-05-07 18:54:22
【问题描述】:

有没有办法在第一个文件夹的基础上包含一个文件。 一个例子:

includes/file1.php
includes/file2.php
includes/file3.php

我网站上的文件夹:

www.mysite.com/folder1
www.mysite.com/folder2
www.mysite.com/folder3

当我浏览到 www.mysite.com/folder1 时,它将包含 file1.php。当我浏览到 www.mysite/com/folder1/somExtraFolder/somethingElse 时,它​​还将包含 file1.php。 当我访问 www.mysite.com/folder2 时,它将包含 file2.php。当我浏览到 www.mysite/com/folder2/somExtraFolder/somethingElse 时,它​​还会包含 file2.php 等等。

这在 php 中是否可行,或者我需要使用某种 javascript/jquery 来实现我的目标。

【问题讨论】:

  • javascript 与此有什么关系?您只需要适当地设置您的文件。听起来您可能需要实施front controller 和/或routing 策略。谷歌一下。
  • 不是 JavaScript 或 jQuery。如果您正在运行 apache 并有权访问 php_value auto_prepend_file,则可以为每个要包含的目录指定一个 .htaccess 文件。

标签: php include directory


【解决方案1】:

Michael Berkowski 有正确答案,使用 PHP 的 auto_prepend_file

您可以使用 .htaccess (Apache) 或 .user.ini (CGI, FastCGI) 为每个目录设置此设置

.htaccess 样式

php_value auto_prepend_file "file1.php"

.user.ini 样式

auto_prepend_file = "file1.php"

将正确的文件类型添加到要修改的目录(文件夹 1、文件夹 2、文件夹 3)以自动包含 auto_prepend_file,就像您使用 requireinclude 作为第一个运行的脚本一样。

【讨论】:

  • php_value auto_prepend_file "file1.php"。它不是在底部的每一页中都包含该文件吗? mady 我需要说我想在模板文件中包含一个包含。菜单。当用户更改子目录时,女巫会发生变化。
  • @user3602420,它包含在顶部。如果您希望 file1.php、file2.php 或 file3.php 的内容呈现在特定位置,请将其包装在一个函数中,我们将其命名为 renderMenu 并在模板的正确位置调用该函数。
【解决方案2】:

这不是一个 PHP 问题,这将是您的 Web 服务器的一个功能。假设 Apache,您可以使用 mod_rewrite 和 .htaccess 规则。

【讨论】:

    【解决方案3】:

    你可以使用路由器。

    我强烈推荐这个,我以前用过:http://toroweb.org/

    然后你可以像这样实现它:

    <?php
    
    class File1 {
        function get() {
            include "file1.php";
        }
    }
    
    class File2 {
        function get() {
            include "file2.php";
        }
    }
    
    Toro::serve(array(
        "/includes/file1.php" => "File1",
        "/includes/file2.php" => "File2",
    ));
    

    【讨论】:

    • 这个声音好像是我可以使用的。只有我现在知道这必须如何工作。我在网站上看过,但我不知道我需要使用/制作什么类型的脚本。
    • @user3602420 基本上你需要做的是为每个文件创建一个类并包含它,然后使用服务数组为每个左半部分设置它作为访问服务器和正确的班级。
    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 2014-12-30
    • 1970-01-01
    相关资源
    最近更新 更多