Cyril Wong
Cyril Wong

Reputation: 81

PHP include with a variable in the path

So we build websites that have to ported from local development servers, to a test server, then to a live server. For this reason we have created a variable:

<?php $path = '/_Folder_/_SubFolder_'; ?>

When we move the website from server to the next, the idea is to simply change the $path definition to retrofit to the new development server. Currently, on each page when we call an include we write:

<?php include('../_includes/_css.php'); ?>

but what I'm trying to do is to:

<?php include($path.'/_includes/_css.php'); ?>

my result I hope for is:

<?php include('/_Folder_/_SubFolder_/_includes/_css.php'); ?>

I've been failing miserably resulting in:

Warning: include(/Folder/_SubFolder_/_includes/_css.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\FREEDOM2012_FREEDOM2012_DEFAULT_\accommodations\guest-rooms.php on line 15

Other Issue I still need to include the variable source by calling "../"

<?php include('../_includes/_var.php'); ?>

if anybody has any insight into how I could do this more efficiently I would be most appreciative. Thank you very much for your time, patience and effort in responding.

Upvotes: 8

Views: 6705

Answers (2)

Strannik
Strannik

Reputation: 466

You need show the previous directory with:

<?php include('../_includes/_css.php'); ?>

Because you have ../, if your full path is css.php = /_Folder_/_SubFolder_/_includes/_css.php, then you need use this:

<?php $path = './_Folder_/_SubFolder_';
include($path.'/_includes/_css.php'); ?>

Otherwise, first show full path to file _css.php.

Upvotes: 2

Jscti
Jscti

Reputation: 14440

Why don't you initailize your $path variable dynamically once forever and environnement-independant ?

like:

$path = dirname(__FILE__);

Starting with PHP 5.3, you have also the __DIR__ shortcut that does the same as above.

@see : http://www.php.net/manual/en/language.constants.predefined.php

Upvotes: 2

Related Questions