En el primer código está yo diría mal utilizado. Includes para poner pedacitos en una tabla... :P
Un include puedes poner tooooodo un pedazo, por ejemplo desde el doctype, html, head, el comienzo del body, y un codigo del encabezado de la página y el menú, digamos.
Ese contenido es tal cual como armarías la página. Haz de cuenta que diseñas tu página y la cortas en 2, lo que vas a repetir y lo que va solo en cada página.
El primer pedazo lo grabas normalito como cabeza.htm, Obvio, ese contenido va a estar "trunco".
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Titulo</title>
</head>
<body>
<div>Este es el pedazo INCLUDES</div>
y haces otro documento con la otra mitad pero agregas la etiqueta de includes, ya comentada.
Código PHP:
<!--#include virtual="cabeza.htm" -->
<h1>Bienvenidos al ejemplo de Includes</h1>
<p>Bla bla bla</p>
</body>
</html>
Este lo grabas como
index.shtml
Localmente NO lo vas a poder ver, ya que Ie no reconoce la extensión shtml, sino tiene que ser procesada en el servidor donde hospedes tu página.
Sube los archivos y escribe
dominio.com/index.shtml
Si es que tiene activada la opción ssi lo leerás completo
"Este es el pedazo INCLUDES
Bienvenidos al ejemplo de Includes"
En caso de hacerlo con PHP es lo mismo, solo cambia la etiqueta un poco
<?php include "cabeza.htm"; ?>
y la extensión en vez de shtml será php
Lo mismo si tu servidor soporta php lo leerá correcto.
SSI es un poco más básico que php, la mayoría de servidores lo soporta y ocupa pocos recursos.