using php __DIR__

后端 未结 2 1980
借酒劲吻你
借酒劲吻你 2021-02-13 10:52

I\'m trying to create a config.php file that defines a global variable which contains the path to a directory called \"projectfiles\". The idea is that any file can point to thi

相关标签:
2条回答
  • 2021-02-13 11:43

    __DIR__ is certainly what you are looking for. Use it to provide relative paths for required files. I would highly suggest using require_once or include_once for all library files.

    if( !defined( __DIR__ ) ) define( __DIR__, dirname(__FILE__) );
    require_once( __DIR__ . '/../../../config.php');
    .
    .
    .
    // you code here
    

    Using the first line ensures you wont run into trouble with PHP 5.2 and back. This will allow you to include files based on directory structure instead of relative to the script called. Many frameworks use dirname(__FILE__) instead, but it is rather wasteful to run more than once. It is better to just add it somewhere with a check.

    0 讨论(0)
  • 2021-02-13 11:51

    It looks like the architecture of this application is less than optimal, but without knowing more, I can't comment on that..

    I suggest defining it as a constant so that it can't be altered and is available no matter the scope.

    define('PROJECTFILES',__DIR__.'/projectfiles/');
    

    Assuming:
    /config.php
    /projectfiles/include_me.php

    include(PROJECTFILES.'include_me.php');
    

    Keep in mind that __DIR__ will reference the directory that config.php is in. If config.php is the parent folder of projectfiles then the above will work.

    0 讨论(0)
提交回复
热议问题