0

Hey I am trying to include a file inside another file in PHP If i write the entire path it does it with out problem.

$route = "/var/www/vhosts/aldroenergia.com/testmovil.aldroenergia.com/src/recursos/php/fEmail.php";
include($route);

but i would like to include with out writing the whole path. Im including the fEmail.php inside

/var/www/vhosts/aldroenergia.com/testmovil.aldroenergia.com/src/ajax/correos/file.php

I've tried include("../../recursos/php/fEmail.php") but didnt work. I've tried include(dirname(__FILE__."../../recursos/php/fEmail.php")); but failed too.

this is the folder structure.

--src
    --recursos
       --php
         -fEmail.php
    --ajax
       --correos
          -file.php
0

2 Answers 2

4

Constants paths and require statements are relative to the current file youre in. To keep track of your paths I would suggest to use a central config file and define your root path in it:

# ./src/config.php
define("ROOT", __DIR__);

# Later include config.php and use:
require_once(ROOT . "/src/recursos/php/fEmail.php");
Sign up to request clarification or add additional context in comments.

2 Comments

Now I get error when trying to include("../../config.php");
From where do you include it? The path has to be relative to file. And I would recommend always use DIR so you have absoulte paths. You can wrap it in realpath if you want to remove the .. and .. So for file.php it would be require_once(__DIR__ . "/../../config.php");
2
include(dirname(__FILE__."../../recursos/php/fEmail.php"));

when you are passing the result of __FILE__ concatenate to the ../../recursos/php/fEmail.php within the dirname function it will not work because It's a wrong path. you must instead past just __FILE__ as parameter to dirname which will return the absolute path of the directory in which the file.php file is. after getting the contening directory path you can past the relative path to the fEmail.php file from file.php directory.

include(dirname(__FILE__) . "/../../recursos/php/fEmail.php");

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.