all.
My question is in regards to a problem I’m encountering when trying to add a universal php template for my DOCTYPE section. My DOCTYPE include (aptly entitled doctype.php) lies within the /template directory, and also includes calls pointing to my CSS and JS files that I want to be accessible to all pages.
So the problem is encountered when I try to write the absolute path to these files (the CSS and JS files). Currently, I am trying:
<script type="text/javascript" src="<?php echo $_SERVER['DOCUMENT_ROOT'] . '/file/extension/to/javascript/file.js'; ?>"></script>
and
<link rel="stylesheet" type="text/css" href="<?php echo $_SERVER['DOCUMENT_ROOT'] . 'file/extension/to/css/file.css'; ?>"
I am running the application through WAMP on my localhost.
Taking a look a look at the source code, it appears as though the links are pointing to the appropriate files (c:/wamp/www/examplesite/path/to/file/file.ext), and all should be well. BUT it is not…
The JavaScript is not accessible and the Stylesheet is not functioning. I’m at a loss for what to do.
I’ve also tried:
-writing the absolute path without the use of PHP
-creating PHP variables to hold the document root and then concatenating the appropriate directory path to access the files.
Any suggestions? And how will this change when I upload the directory structure to my online server vs. my current localhost?
You might want to try $_SERVER[‘HTTP_REFERER’] instead. It gives you the path you are looking for.
On my local machine, which uses WAMP, I used
<?php print_r($_SERVER); ?>to see what values it gives.Also, there may be some typos in the snippets. For example, you don’t need the leading / in the first example you gave.
For example:
Or since HTTP_REFERER can’t be trusted in some case, you may want to create a function that builds the base part of the absolute path.
Then call it like so: