Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using php __DIR__

Tags:

php

constants

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 this directory regardless of where it is in the file tree.

Can I use __DIR__ for this? Would someone be willing to give me an example of how this might work? I was thinking of something like the following:

I want to define an directory here: in the /config.php file

$projectfiles = __DIR__("projectfiles/")

Then I want a library file to be able to use this variable in /venders/library/generalfunctions.php file

include("../../../config.php");
$file = $projectfiles/testfile.php

Suggestions?

like image 254
Jeff Avatar asked Aug 03 '13 16:08

Jeff


1 Answers

__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.

like image 130
Garet Claborn Avatar answered Oct 17 '22 11:10

Garet Claborn