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
# Estas dos directivas establecen que todas las solicitudes de páginas .htm y .html sean procesadas por un 'Action' AddHandler headered .htm AddHandler headered .html # Se especifica el archivo .php asignado al 'Action' definido antes Action headered /header/header.php
<?php # Ficheros de cabecera y pie de página $header = "header.html"; $footer = "footer.html"; # Extracción de la url del fichero que se ha solicitado $file = $_SERVER["PATH_TRANSLATED"]; # Volcado a la pantalla de los tres ficheros readfile($header); readfile($file); readfile($footer); ?>
<b>This is my header.</b> <hr>
<hr> <b>This is my footer.</b>
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:
<?php var_dump($_SERVER); ?>
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