I want to include my PHP file googleanayltics.php
on every page on my webserver that is a .php or .html document
I would like to know:
A) How do I add this right BEFORE the </head>
tag
<body>
tag
I'd like to know both methods for flexibility
I think .HTACCE开发者_运维技巧SS could accomplish this easily, and if you know how, or if you know of any easier method then please do share.
P.S. I do not want to manually go in and enter a code on every file, that is why I am asking this question (for time saving)
EDIT: Only now I see what you actually wanted (was hidden due to formatting). Although possible, that would be a very clumsy thing to do, and really not worth the effort. See my other answer for a way to do that.
There are two php.ini
settings you might be interested in:
auto_prepend_file
and auto_append_file
They can be changed via .htaccess (see the other answer).
NOTES:
These will be included before or after the whole PHP script; but not in specific sections of the output.
They will only affect files handled that go through PHP, which means HTML files are not included, unless your server is set up to pass HTML files through PHP. This can be done by adding the following line to your .htaccess:
AddType application/x-httpd-php .html .htm
Auto prepending a file that generates output is a dangerous thing to do, because it will affect (break) scripts that set headers or use sessions.
You can append or prepend files by setting a PHP ini value in .htaccess
php_value auto_prepend_file "full_path_to_the_include_directory/prepend.php"
php_value auto_append_file "full_path_to_the_file_containing_your_analytics_code"
(It'd be better to set them manually in php.ini)
http://php.net/manual/en/ini.core.php
In htaccess you can put
php_value include_path "your/include/path/here/googleanayltics.php"
Here's what you could do accomplish what you actually want.
- Create two files, called prepend.php and append.php.
- Use the method previously described to set them as
auto_prepend_file
andauto_append_file
.
prepend.php
<?php
function callback($buffer) {
$fileContents = file_get_contents('somefile.html');
// insert $fileContents right BEFORE </head> tag
return str_replace('</head>', $fileContents . '</head>', $buffer);
// insert $fileContents right AFTER <body> tag
// return str_replace('<body>', . '<body>' . $fileContents , $buffer);
}
ob_start("callback");
?>
append.php
<?php
ob_end_flush();
?>
This relies on output buffering and is relatively expensive. You might also run into problems if your scripts also use output buffering.
So my best advice is to design your scripts in a way that the a layout is used for every page and you can easily change what's included in your pages by just changing the layout.
if its in the same folder
<?php include_once("googleanayltics.php") ?>
If not use this
<?php include("/customers/f/5/f/example.com/httpd.www/folder/googleanayltics.php"); ?>
精彩评论