8

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.

2
  • Have you tried echoing the string you're feeding to include()? Commented Oct 25, 2012 at 20:50
  • As you are on a windows server you will need backslashes instead of slashes. Commented Oct 25, 2012 at 20:51

2 Answers 2

2

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

Sign up to request clarification or add additional context in comments.

1 Comment

Used with set_include_path php.net/manual/en/function.set-include-path.php you can bootstrap it nicely. and have decent relative paths in your includes.
2

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.

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.