开发者

how to use config file from a subdirectory while it is been kept at root directory in PHP

开发者 https://www.devze.com 2023-01-13 02:42 出处:网络
I am developing a web application. contents are: root dir (/var/www/) config.php index.php details.php admin dir (/var/www/admin)

I am developing a web application. contents are:

  • root dir (/var/www/)

config.php

index.php

details.php

  • admin dir (/var/www/admin)

admin.php

I have included config.php file into index.php, details.php in root directory using require_once('config.php') as this file contains database passwords, styles, images directory paths..

how can i include that config files in my admin/admin.php file so that one config file can be used in anywhere(even in subdirectories) of my web application. Will it make any difference for the value of define('APP_BASE_PATH', dirname(__FILE__)); when same config file is used by all files in the web application.

if i am wrong somewhere then ple开发者_JAVA技巧ase get me right.


If your server properly configured, just

include $_SERVER['DOCUMENT_ROOT']."/config.php";

anywhere

You have also 2 other possible ways.

  • a Front controller setup, where ALL user requests going into one file. And ths one going to include all others from their subdirectories. Personally I don't like it cause this front file become a mess. Though it's widely used.

  • I decided not to mention it because noone would use a hardcoded full path anyway.


Update after clarification in comments: You are looking for a way to include a central configuration file from anywhere in your project's folder structure.

@Col. Shrapnel shows one way, DOCUMENT_ROOT. It's the only way to use an "absolute" path from a nested folder structure. It has the limitation I describe above, but it's fine otherwise.

If you want maximum portability (i.e. the possibility to run the app with e.g. www.example.com/myapp/version_1 as its root directory), you would have to use relative references from within your folder structure to "climb down" to the config file, e.g. ../../config.php that will work reliably too, although be a bit cumbersome e.g. if you move a script to a different folder and you have to update the relative path.


you can use the same config file every time... using "/" will take you back to the root directory... so in admin/admin.php use this:

require_once("/config.php");

you can use "../" to take you up one directory eg:

require_once("../config.php");

was this what you were looking for?

0

精彩评论

暂无评论...
验证码 换一张
取 消