Piyush Kumar Baliyan
Piyush Kumar Baliyan

Reputation: 404

Relative paths for include in php

I have a common include file to be used in whole website, which is located in home directory. Now to use relative paths in include I have two options:

Using document root to get to root and then using the path to include my file

<?php
include $_SERVER['DOCUMENT_ROOT']."/lib/sample.lib.php";
?>

OR

Using chdir to change working directory of the script to home directory, then including my file.

<?php 
$what_was = getcwd(); 
chdir("/path/to/roo/directory/"); 
include("/lib/sample.lib.php"); 
chdir($what_was); 
?>

I want to ask which of the above methods is good regarding performance and security point of view?

Upvotes: 0

Views: 212

Answers (1)

taiar
taiar

Reputation: 562

I think none of them.

Always use some combination of __FILE__ constant and dirname() function.

For example:

<?php
  $root_dir = dirname(dirname(__FILE__)); // assuming the root dir is 1 directories behind the executed file.
  include($root_dir . "/lib/sample.lib.php");
?>

References:

Upvotes: 3

Related Questions