PHP require file from top directory

后端 未结 6 641
梦毁少年i
梦毁少年i 2020-12-05 07:11

I have several subdomains contained in their own directory above my root site, and an assets folder in my root directory. For example:

/
/assets/
/forums/
/b         


        
6条回答
  •  北海茫月
    2020-12-05 07:49

    There are several ways to achieve this.

    Use relative path from form.php

    require_once __DIR__ . '/otherfile.php';
    

    If you're using PHP 5.2 or older, you can use dirname(__FILE__) instead of __DIR__. Read more about magic constants here.

    Use the $_SERVER['DOCUMENT_ROOT'] variable

    This is the absolute path to your document root: /var/www/example.org/ or C:\wamp\www\ on Windows.

    The document root is the folder where your root level files are: http://example.org/index.php would be in $_SERVER['DOCUMENT_ROOT'] . '/index.php'

    Usage: require_once $_SERVER['DOCUMENT_ROOT'] . '/include/otherfile.php';

    Use an autoloader

    This will probably be a bit overkill for your application if it's very simple.

    Set up PHP's include paths

    You can also set the directories where PHP will look for the files when you use require() or include(). Check out set_include_path() here.

    Usage: require_once 'otherfile.php';


    Note:

    I see some answers suggest using the URL inside a require(). I would not suggest this as the PHP file would be parsed before it's included. This is okay for HTML files or PHP scripts which output HTML, but if you only have a class definition there, you would get a blank result.

提交回复
热议问题