Este ejemplo nos permite añadir código propio antes y después de las páginas web que se sirven desde nuestro servidor. Esto puede ser útil si queremos añadir anuncios a todas las página a las que se accedan, o si queremos añadir algo concreto (como en mi caso, un poco de javascript).
Para el ejemplo necesitaremos los siguientes ficheros:
- .htaccess
- header.php
- header.html
- footer.html
- sample.html
1.
# Estas dos directivas establecen que todas las solicitudes de páginas .htm y .html sean procesadas por un 'Action'
2.
AddHandler headered .htm
3.
AddHandler headered .html
4.
# Se especifica el archivo .php asignado al 'Action' definido antes
5.
Action headered /header/header.php
01.
<?php
02.
# Ficheros de cabecera y pie de página
03.
$header
=
"header.html"
;
04.
$footer
=
"footer.html"
;
05.
# Extracción de la url del fichero que se ha solicitado
06.
$file
=
$_SERVER
[
"PATH_TRANSLATED"
];
07.
# Volcado a la pantalla de los tres ficheros
08.
readfile(
$header
);
09.
readfile(
$file
);
10.
readfile(
$footer
);
11.
?>
1.
<
b
>This is my header.</
b
>
2.
<
hr
>
1.
<
hr
>
2.
<
b
>This is my footer.</
b
>
1.
A sample page. The header and footer should appear on this page without actually putting them in this file.
Con todos estos archivos situados en el mismo directorio, al acceder a la dirección URL del fichero sample.html (por ejemplo http://localhost/sample.html) deberíamos ver lo siguiente:
Este ejemplo no es universal y depende de la configuración del servidor. A mi en concreto me ha dado problemas con la variable “PATH_TRANSLATED” que es de donde se obtiene la url de la página solicitada, y para solventarlo he introducido el código:
1.
<?php
2.
var_dump(
$_SERVER
);
3.
?>
que muestra por pantalla todas las variables de php presentes. Es posible que haya en estas variables alguna barra (/) “de más”, por lo que también es útil hacer uso de la función substr.
Fuente webpronews.com