Re: Full versus relative URLs

From: Date: Tue, 17 Feb 2009 19:59:30 +0000
Subject: Re: Full versus relative URLs
References: 1 2 3 4 5 6 7  Groups: php.general 
Request: Send a blank email to php-general+get-288477@lists.php.net to get a copy of this message
PJ wrote:
I hope I'm not out of place here, but I have a problem that seems to be related. I am using some include statements for page headers with the pages in various directories on the site. The problem is this... if I put relative statements in the page (header.php) like ../images/file.jpg and ../file.php etc, if the page into which I include header.php is not in the top level directory, the links do not work and I have to copy header.php to header1.php and change the references to /images otherwise images are not displayed and links to not work in href. e.g.: 1. top level file books.php
include ("lib/db1.php");    // Connect to database
include ("header1.php"); 2. subdirectory: /authors/a.php include "../header.php"; I thought that using referencing the top level of the directory tree (../) would work form anywhere within the tree? Am I the victim of my own misconceptions here? TIA to set me straight.
Easy to solve. ini_set("include_path", "/srv/domain/phpinclude:/srv/domain/record_include:/srv/domain/process_include"); Then just call it without path - IE include('foo.inc'); php will first look for foo.inc in /srv/domain/phpinclude, then in /srv/domain/record_include, etc. make directories for your includes, preferably outside the web root, and define your include path at the top of your script. I personally don't like to have . as part of my include path, and relative include paths (id somedir/foo.inc) are IMHO an even worse practice.

« previous php.general (#288477) next »