PHP找到require_once真实路径

时间:2013-04-01 21:57:16

标签: php require-once realpath

我需要require_once这些文件main.class.phpfunctions.php以及config.phpadmin/test.php。如何找到php需要真正的路径?!

注意:main.class.php中的class folderfunctions.php中的includes folderconfig.php目录中的root以及test.php中的admin folder 1}}。

档案目录:

root
    /admin/
        ->test.php 
    /class/
        ->main.class.php
    /includes/
        ->functions.php
    /templates
    config.php
    phpinfo.php

3 个答案:

答案 0 :(得分:5)

我会将您的root文件夹添加到包含路径并从那里开始工作。

来自admin/test.php

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(__DIR__ . '/..'),
    get_include_path()
)));

require_once 'class/main.class.php';
require_once 'includes/functions.php';
require_once 'config.php';

更新

如果我正确地关注了您的问题,假设您想在config.php文件中定义此问题,则可以执行以下操作

的config.php

set_include_path(implode(PATH_SEPARATOR, array(
    __DIR__,
    get_include_path()
)));

require_once 'class/main.class.php';
require_once 'includes/functions.php';

管理员/ test.php的

require_once __DIR__ . '/../config.php';

答案 1 :(得分:3)

这是一个不依赖于$ _SERVER变量的解决方案:

require_once(__DIR__.'/../class/main.class.php');
require_once(__DIR__.'/../includes/functions.php');
require_once(__DIR__.'/../config.php');

答案 2 :(得分:0)

admin/test.php你需要这样:

require_once("../class/main.class.php");
require_once("../includes/functions.php");
require_once("../config.php");