Solved

Finding the root Link

Posted on 2008-09-29
7
226 Views
Last Modified: 2013-12-13
I'm having a bit of trouble geting my head arround relative links.
I use a template in dreamweaver which points to a file, within a php function" named "../../Community/NewsRss/Google_Feed.xsl" .
Now if the template is used in a file which is located in the /NewRSS folder it can read the XML file, however if it is in the root folder I get the message "The specified file ../../Community/NewsRss/Google_Feed.xsl could not be found."

I would have thought that ../../ would work where ever.
Any clues to where I am going wrong.
0
Comment
Question by:Simon Cripps
  • 4
  • 3
7 Comments
 
LVL 29

Expert Comment

by:fibo
Comment Utility
If you are using "../../Community/NewsRss/Google_Feed.xsl" from within NewsRss... you could probably in that case use "Google_Feed.xsl" directly....

Now if you are using from 2 levels above, you should use instead "./Community/NewsRss/Google_Feed.xsl"

And if this "2level above" is also the home/root dir, then "/Community/NewsRss/Google_Feed.xsl" should be the link to use
0
 

Author Comment

by:Simon Cripps
Comment Utility
Part fixed, part broke.
If I use "./Community/NewsRss/Google_Feed.xsl" in the template then files in the root directory are able to read the file but not in the NewsRSS folder.
However for this to work on files in the NewsRSS folder I need to change the template to "../../Community/NewsRss/Google_Feed.xsl" .
The problem is that as this for two pages, in different folders, using the same template I have to use one or another. Do you know why "./" works in the root folder and "../../" NewsRSS folder.
0
 
LVL 29

Expert Comment

by:fibo
Comment Utility
- Just to be sure: is it NewsRSS or NewsRss? Unix is case sensitive, while it does not matter under Windows

- The path thing.
It depends on where you are.
-- If you are in the root folder, then 'mydir', './mydir' and '/mydir' all point to the same place.
-- If you are in /mydir folder, then 'mydir1', './mydir1', '/mydir/mydir1' and '../mydir/mydir1' all point to the same place.

When the address start with / then this is an "absolute" address and is given relative to the root
In all other cases the adress is relative to the current directory, for which the conventional shortcut is a single dot '.'
The 'father' directory of the current directory is conventionally '..'

This is why it is coherent that in root "./Community/NewsRss/Google_Feed.xsl" works fine while in directories 2 levels under, such as NewsRss you need '../../' (to go up 2 levels).
What happens when you use in both situations "/Community/NewsRss/Google_Feed.xsl" ?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:Simon Cripps
Comment Utility
All makes complete sence, but does not appear to work. if I use  "/Community/NewsRss/Google_Feed.xsl" then the error appears in the pages in both locations.
So I still need to refer to ./Community/NewsRSS/ folder in root and ../../Community/NewsRSS/ from the NewsRSS folder.
Could it be because these are being defined in PHP?
0
 
LVL 29

Accepted Solution

by:
fibo earned 500 total points
Comment Utility
<<Could it be because these are being defined in PHP?>>
I think this is not specific to PHP.

When you are in .../NewsRss/, what happens if you address the file as "./Google_Feed.xsl"?

I remember I once had a similar problem, and the workaround to have a "clean" code was to compute the directory prefix directly from the script location, eg using predefined variable __DIR__
0
 

Author Closing Comment

by:Simon Cripps
Comment Utility
This may also be as I am using the parameter in dreamweaver MM_XSLTransform() rss reader. as this does not affect any other of my links in the template. I now set the directory in the editable area at the top of the template so I can change it for each page
0
 
LVL 29

Expert Comment

by:fibo
Comment Utility
B-)) glad this is solved. Thx for the points and grade
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Shoutout to Emily Plummer (http://www.experts-exchange.com/members/eplummer26.html) for giving me this article! She did most of it, I just finished it up and posted it for her :)    Introduction In a previous article (http://www.experts-exchang…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now