Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2012, 22:09
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Guardar copia de página web

Con javascript es muy sencillo en internet explorer, pero se complica bastante con otros navegadores

lo mejor es hacerlo con php
tenes una pagina.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>titulo</title>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. </head>
  6. <h1>Demo descarga de página</h1>
  7. <p><a href="autodescarga.php?archivo=pagina.html">Descargar</a></p>
  8. </body>
  9. </html>

En el mismo incluimos un link al archivo autodescarga.php y le pasamos como parámetro archivo=pagina.html, es decir el nombre de la propia página

autodescarga.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_GET['archivo'])){
  3. $archivo = $_GET['archivo'];
  4. }else{
  5. $archivo = "noexiste";
  6. }
  7. header('Content-Type: text/html;charset=utf-8');
  8. header("Content-Disposition:attachment ; filename=$archivo");      
  9.     header('Expires: 0');
  10.     header('Cache-Control: must-revalidate');
  11.     header('Pragma: public');
  12.     ob_clean();
  13.     flush();
  14.     echo file_get_contents($archivo);
  15.     exit;
  16. ?>

listo, ahora solo te resta poner el archivo autodescarga.php en la misma carpeta dónde esten los html. Si los html estuvieran en otras carpetas habría que hacerle algunas modificaciones, por lo que lo más fácil es poner una copia de autodescarga.php en cada carpeta que contenga html's descargables, si lo que descargases fuesen php y no html, no hay problema porque lo que descargue el usuario no es tu código php sino el html generado, es decir lo mismo que se ve al hacer click derecho -> ver código fuente, por lo que no implicaría ningún riesgo de seguridad
un detalle, yo usé utf-8, si tu codificación es distinta, tendrías que modificarla

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.