Foros del Web » Programando para Internet » PHP »

Guardar pagina para poder visualizarla en cualquier momento...

Estas en el tema de Guardar pagina para poder visualizarla en cualquier momento... en el foro de PHP en Foros del Web. Hola a todos: Me gustaría saber si es que existe alguna forma de guardar una página (tiene sólo codigo hmtl ya que es la pagina ...
  #1 (permalink)  
Antiguo 23/12/2006, 13:56
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Mensaje Guardar pagina para poder visualizarla en cualquier momento...

Hola a todos:

Me gustaría saber si es que existe alguna forma de guardar una página (tiene sólo codigo hmtl ya que es la pagina que recoge todos los valores de un formulario)... bueno como decía guardar esta página (no se en que formato) pero que el usuario pueda buscarla de acuerdo a su rut que completo previamente en el formulario, teniendo en cuenta que puede completar el formulario más de una vez por lo que si se guarde con el valor de un input.
__________________
Adios ...!!!!
  #2 (permalink)  
Antiguo 24/12/2006, 12:15
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: Guardar pagina para poder visualizarla en cualquier momento...

encontre esto ... pero no es precisamente lo que busco

<input type="button" value="Guardar" onClick="window.document.execCommand('saveas',true ,document.title+'.html');">

Se podria guardar estos html en mi servidor ????
__________________
Adios ...!!!!
  #3 (permalink)  
Antiguo 24/12/2006, 20:50
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Re: Guardar pagina para poder visualizarla en cualquier momento...

hellou !"!! feliz navidad xD

miren encontre esta pagina que explica el como crear una base de datos para guardar archivos en el servidor ...

http://www.programacion.net/php/articulo/datos_blob/

el problema esta en que no se donde se estan guardando estos archivos y no se como puedo hacer para eliminarlos (crear un delete en cada archivo mostrado en listar_archivos.php) y lo otro es que este solo me sirve para subir archivos ... como podria hacerlo si quisiera guardar un hmtl que estoy visualizando ???
__________________
Adios ...!!!!

Última edición por BLAH !!; 25/12/2006 a las 15:21
  #4 (permalink)  
Antiguo 25/12/2006, 09:04
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Pregunta Problemilla ...

Hola a todos ... trate de hacer algo con la funcion unlink ... pero no se si es que estoy bien ... aca les va el codigo y el error

codigo de borrar_archivo.php

Código HTML:
<?
require("dbconnect.inc.php");

 $qry = "DELETE FROM nombre_bd where id=$id";
 $res = mysql_query($qry);

unlink("descargar_archivo.php?id=$id")

?> 
error:
Código HTML:
Warning: unlink(descargar_archivo.php?id=5) [function.unlink]: No such file or directory in /home/.../.../.../.../borrar_archivo.php on line 7
__________________
Adios ...!!!!
  #5 (permalink)  
Antiguo 25/12/2006, 09:14
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: Guardar pagina para poder visualizarla en cualquier momento...

mejor aun :

hice esto y por lo menos ya no sale el error, pero tampoco me borra el archivo ....

Código HTML:
<?
require("dbconnect.inc.php");

 $qry = "DELETE FROM nombre_bd where id=$id";
 $res = mysql_query($qry);
 $del = "descargar_archivo.php?id=$id";
 $unl = delfile($del);
 
function delfile($del) 
{ 
   foreach(glob($del) as $fn) { 
       unlink($fn); 
   } 
if ($unl == true) print "$del ha sido borrado correctamente.";
else print "Error mientras se intentaba borrar el archivo $del.";
}

?> 
__________________
Adios ...!!!!
  #6 (permalink)  
Antiguo 25/12/2006, 09:32
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Re: Guardar pagina para poder visualizarla en cualquier momento...

FUNCIONO !!! atentos !!! aca les va la solucion !

Código HTML:
<?
require("dbconnect.inc.php");

 $qry = "DELETE FROM NOMBRE_TABLA where id=$id";
 $res = mysql_query($qry);
 $del = "descargar_archivo.php?id=$id";
 $unl = delfile($del);
 
function delfile($del){ 
   foreach(glob($del) as $fn) { 
       unlink($fn); 
   } 
}

echo "<br><br>";

if (file_exists($del)) {
   echo "Error mientras se intentaba borrar el archivo $del.";
   }
else {
   echo "$del ha sido borrado correctamente.";
   }
?> 
En DELETE FROM ... yo colocaba el nombre de la base de datos... y se debia colocar el nombre de la tabla de la bd

jijijijijijiji =)
__________________
Adios ...!!!!
  #7 (permalink)  
Antiguo 25/12/2006, 09:42
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Guardar pagina para poder visualizarla en cualquier momento...

La verdad no entiendo exactamente el problema, guardar una página entera con html para qúe? si lo que quieres es generar un formulario con datos sólo tienes que guardar los datos...
  #8 (permalink)  
Antiguo 25/12/2006, 12:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Re: Guardar pagina para poder visualizarla en cualquier momento...

... ... sin entender ni el propósito, ni el problema, ni la solución .

- Código HTML es texto y no más. Si quieres guardarlo en una BD ocupa un campo para guardar texto, solo pon atención en que, seguramente, necesitarás escapar caracteres especiales (comillas), para eso tienes funciones tanto de MySQL como de PHP.

- Guardar archivos (sin importar el tipo) en binario, en un campo tipo BLOB, solo es tener un registro más... y es ahí donde guardas el archivo, en la Base de Datos, no en un directorio físicamente. Hay un tutorial de Cluster en este foro, más enfocado a imágenes pero igual aplica en tu caso; repito: no importa el tipo, estas guardando un archivo. Quizá puedas darle un vistazo.

- El si es mejor guardar un archivo en una BD o físicamente en un directorio (QUE NO ES LO MISMO) depende de la aplicación, de cada cuando va a "mostrarse" ese fichero, del tipo del mismo, de la portabilidad de la aplicación. Para ello debes explicar la situación.

- El código JavaScript que dejas en tu segundo mensaje, debes testearlo en diferentes navegadores y SOs... aunque supongo ya estará descartado completamente.

- En tu código aparentemente haces dos cosas: 1.- Borrar un registro, entendiendo el fichero esta almacenado ahí; 2.- Eliminar un archivo... ¿¿??. Quizá estas guardando información doble o haciendo algo que es innecesario... procura explicar bien las condiciones en que estas.

- Aclara en qué condiciones interviene el formulario que eso no quedó claro desde el principio...

Eso... explica bien el propósito, recuerda que PHP genera HTML, igual y es innecesario guardar una archivo HTML pudiendo guardar solo cierta información específica.

Dejo el tema aquí ya que sí tiene que ver PHP. Ve en el foro de BDs, hay un tema indicando el propósito de aquel foro... es fácil revolver las cosas .

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 25/12/2006, 15:17
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Muchas Gracias =)

Hola ... primero que todo muchas gracias por sus consejos ... jiji bueno les explico.

Lo que estoy haciendo es algo netamente para mi (el webmaster) por lo que no me complico con lo de si funciona o no en otros navegadores (porque a mi me funciona de maravilla).

Lo de guardar solamente el texto no me parece buena idea ya que no cumple con lo que necesito .... estoy guardando un archivo .html para luego poder visualizarlo como tal, el cual recive directamente las variables completadas en un formulario (este formulario lo completa una persona que soy yo ... pero con diversos valores en los campos ... ) asi podre llamar desde la lista de archivos que existen en la bd a cualquiera de estos html para visualizarlo...

Hasta ahora voy muy bien ... lo único que me faltaría sería el poder guardar el html en la bd ... (ya que en estos momentos solo puedo guardarlo en computador y luego subirlo a traves de otro formulario con un input type=file) la gracia de esto seria que al estar en el archivo de extension .html que deseo guardar, este se guarde automaticamente.
__________________
Adios ...!!!!
  #10 (permalink)  
Antiguo 27/12/2006, 00:21
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
he intentado todo !!!!

ufff... me rindo he intentado de todo .... llevo 3 dias haciendo bases de datos para hacer lo que quiero, pero no he podido conseguirlo.

Me explico: como ya les dije encontre una base de datos a la cual agregue una opcion para borrar archivos, esta es muy buena ya que trae la lista con archivos, la descarga de estos, el upload y tambien agregue una busqueda.... bueno el problema esta en el momento en que deseo subir un archivo (esta bd solo acepta archivos desde mi pc con un input type=file) pero yo quiero que me guarde el codigo de fuente de un valor determinado como $contenido que es un HTML ... los archivos....

la bd.
Código HTML:
CREATE TABLE archivos( 
    id int not null auto_increment primary key,
    nombre varchar(50),
    titulo varchar(50),
    contenido mediumblob,
    tipo varchar(50));
index.html (upload con form)
Código HTML:
<form name="upload" enctype="multipart/form-data" action="guardar_archivo.php" method="post" onsubmit="return chkform()">
Descripción <input type="text" name="titulo" size="30">
Cliente <input type="text" name="cliente" size="30">
Ubicación <input type="file" name="archivito">
<input type="submit" value="Enviar archivo">
</form> 
dbconnect.inc.php (conexion a bd)
Código HTML:
<?
$servidor="localhost"; 
$usuario="root"; 
$password="pass"; 
$base="tabla_bd"; 
$SQLid = mysql_connect($servidor,$usuario,$password); 
mysql_select_db($base,$SQLid); 
?> 
guardar_archivo.php (conexion a bd para subir archivos)
Código HTML:
<HTML>

<HEAD>
 <title></title>
</HEAD>

<style>
a:link     {color: #0000FF; text-decoration: underline;}
a:visited  {color: #0000FF; text-decoration: underline;}
a:hover    {color: #000088; text-decoration: none;}
</style>

<BODY topmargin="10" leftmargin="20">
<div align="right">
<img src="../../../LOGO.jpg">
</div>
<center>
<font face="Arial, Verdana" size="2" color="#000000">
<?
 require("dbconnect.inc.php");

 $archivo = $_FILES["archivito"]["tmp_name"]; 
 $tamanio = $_FILES["archivito"]["size"];
 $tipo    = $_FILES["archivito"]["type"];
 $nombre  = $_FILES["archivito"]["name"];
 $titulo  = $_POST["titulo"];
 $cliente = $_POST["cliente"];

 if ( $archivo != "none" )
 {
    $fp = fopen($archivo, "rb");
    $contenido = fread($fp, $tamanio);
    $contenido = addslashes($contenido);
    fclose($fp); 

    $qry = "INSERT INTO archivos VALUES 
            (0,'$nombre','$titulo','$cliente','$contenido','$tipo')";

    mysql_query($qry);

    if(mysql_affected_rows($SQLid) > 0)
       print "Se ha guardado el archivo en la base de datos.";
    else
       print "NO se ha podido guardar el archivo en la base de datos.";
 }
 else
    print "No se ha podido subir el archivo al servidor";
?>
</font><br><br>
 <form action="" method="post" name="guardar_archivos">
   <input type="button" name="lista" value="Ver Archivos" OnClick="javascript: top.window.self.location.href='listar_archivos.php'" style="color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small">
   <input type="button" name="volver" value="Volver Atrás" OnClick="javascript:history.back()" style="color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small">
 </form>
</center>
</font>
</BODY>

</HTML> 

listar_archivos.php (carga la los archivos subidos de acuerdo a ID)
Código HTML:
<HTML>

<HEAD>
 <title></title>
</HEAD>

<style>
a:link     {color: #0000FF; text-decoration: underline;}
a:visited  {color: #0000FF; text-decoration: underline;}
a:hover    {color: #000088; text-decoration: none;}
</style>

<script language="JavaScript" type="text/javascript">
<!--
function borrar()
{
pruef=window.confirm("¿Realmente desea borrar el archivo?");
return pruef;
}
</script>

<BODY topmargin="10" leftmargin="20" onload="top.busqueda.location.reload()">
<font face="Arial, Verdana" size="2" color="#000000">
<?
require("dbconnect.inc.php");

$qry = "SELECT id, nombre, titulo, cliente, tipo FROM archivos";
$res = mysql_query($qry);

while($fila = mysql_fetch_array($res))
{
print "<b><a name='$fila[titulo]'>Factura Nº:</a></b> &nbsp; &nbsp; &nbsp; $fila[titulo]
<br>
<b>Tipo Archivo:</b> &nbsp; $fila[nombre] $fila[cliente] ($fila[tipo])
<br>
<form OnSubmit=\"return borrar()\" name='listas' action='borrar_archivo.php?id=$fila[id]' method='POST'>
 <input type='hidden' name='nfact' value='$fila[titulo]'>
 <input type='button' name='ver' value='Ver Archivo' OnClick=\"javascript: top.window.self.location.href='descargar_archivo.php?id=$fila[id]'\" style='color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small'>&nbsp; &nbsp; 
 <input type='submit' name='delete' value='Borrar Archivo' style='color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small'>
</form>
<br>
<br>";
}
?>
<br><br>
<center>
 <form action="" method="post" name="listar_archivos">
   <input type="button" name="facturas" value="Volver a Factura" OnClick="javascript: top.window.self.location.href='index.html'" style="color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small">
 </form>
</center>
</font>
</BODY>

</HTML> 
descargar_archivo.php (puedo visualizar los html directamente)
Código HTML:
<?
require("dbconnect.inc.php");

 $qry = "SELECT tipo, contenido FROM archivos WHERE id=$id";
 $res = mysql_query($qry);
 $tipo = mysql_result($res, 0, "tipo");
 $contenido = mysql_result($res, 0, "contenido");

 header("Content-type: $tipo");
 print $contenido; 
?> 
borrar_archivo.php (lo cree de acuerdo a mi bd)
Código HTML:
<HTML>

<HEAD>
 <title></title>
</HEAD>

<style>
a:link     {color: #0000FF; text-decoration: underline;}
a:visited  {color: #0000FF; text-decoration: underline;}
a:hover    {color: #000088; text-decoration: none;}
</style>

<META http-equiv="refresh" content="7;URL=listar_archivos.php">

<BODY topmargin="10" leftmargin="20" onload="top.busqueda.location.reload()">
<font face="Arial, Verdana" size="2" color="#000000">
<?
require("dbconnect.inc.php");

 $qry = "DELETE FROM archivos where id=$id";
 $res = mysql_query($qry);
 $del = "descargar_archivo.php?id=$id";
 $unl = delfile($del);
  
function delfile($del){ 
   foreach(glob($del) as $fn) { 
       unlink($fn); 
   } 
}

echo "<br><br>";

if (file_exists($del)) {
   echo "Error mientras se intentaba borrar el archivo $del.";
   }
else {
   echo "<center><b>La Factura Nº $nfact ha sido borrado correctamente.</b></center>";
   }
?>
<center>
 <form action="listar_archivos.php" method="post" name="actualizar_lista">
   <input type="submit" name="continuar" value="Continuar" style="color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small">
 </form>
</center>
</font>
</BODY>

</HTML> 
busqueda.php (es uno de los 2 frames de un html, el otro es listar_archivos.php)
Código HTML:
<HTML>

<HEAD>
 <title></title>
</HEAD>

<script language="JavaScript">
function sendIt(fileName) {
if (fileName != "") {
parent.lista.location.href=fileName
}
}
</script>

<style>
a:link     {color: #0000FF; text-decoration: underline;}
a:visited  {color: #0000FF; text-decoration: underline;}
a:hover    {color: #000088; text-decoration: none;}
</style>

<BODY topmargin="10" leftmargin="20">
<div align="right">
<img src="../../../LOGO.jpg">
</div>
<font face="Arial, Verdana" size="2" color="#000000">
<center>
<?
require("dbconnect.inc.php");

$qry = "SELECT id, nombre, titulo, cliente, tipo FROM archivos";
$res = mysql_query($qry);

echo "
<form name='busqueda' action='' method='POST'>
 <select name=buscar onChange='sendIt(this.options[selectedIndex].value)' style='color: #003366; background-color: #FFFFFF; font-family:verdana; font_size:xx-small'>
  <option SELECTED>SELECCIONE EL NUMERO DE FACTURA</option>
  <OPTGROUP>";
while($fila = mysql_fetch_array($res))
{
print "<option value=\"listar_archivos.php#$fila[titulo]\">Factura Nº $fila[titulo] de $fila[cliente]</option>
";
}
echo " </select>
</form>
<br>
<br>";
?>
</center>
</font>
</BODY>

</HTML> 

Bueno ahí estan los codigos de lo que tengo, lo cual me funciona de maravilla... el problema esta en que no cumple los requisitos que necesito, como les digo he tratado lo imposible (recoger directamente los valores de cada input en la bd) pero de esa forma no puedo crear los php listar_archivos, borrar_archivo.php, busqueda.php
__________________
Adios ...!!!!
  #11 (permalink)  
Antiguo 27/12/2006, 01:49
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Re: he intentado todo !!!!

Cita:
Iniciado por BLAH !! Ver Mensaje
Lo de guardar solamente el texto no me parece buena idea ya que no cumple con lo que necesito .... estoy guardando un archivo .html
¿Y qué es --código-- HTML sino texto? ¿o cuándo creas un .html lo haces en código maquina? ... ¿por qué "no cumple" con lo que quieres?

Cita:
Iniciado por BLAH !! Ver Mensaje
Hasta ahora voy muy bien ... lo único que me faltaría sería el poder guardar el html en la bd ... (ya que en estos momentos solo puedo guardarlo en computador y luego subirlo a traves de otro formulario con un input type=file) la gracia de esto seria que al estar en el archivo de extension .html que deseo guardar, este se guarde automaticamente.
Guardar HTML... es solo texto. Crear/editar ficheros .html tienes fopen(), fwrite() y demás funciones para manejar ficheros: www.php.net/filesystem

Cita:
Iniciado por BLAH !! Ver Mensaje
[...] no cumple los requisitos que necesito, como les digo he tratado lo imposible (recoger directamente los valores de cada input en la bd)
No veo detenidamente tu código pero por encima entiendo que:
- Guardas archivos (de tu PC a la BD)
- Eliminas
- Enlistas
- Muestras
- "Buscas" utilizando el ID (factura?)...

* Anoto: en tu fichero de "busqueda" (el entrecomillado no es casualidad) ejecutas la query "SELECT id, nombre, titulo, cliente, tipo FROM archivos" pero en la definición de tu BD no veo un campo "cliente" ...

Pero bueno... que tienes algo, funciona... aparentemente así es... pero sigo sin entender el propósito, sigo sin entender lo que quieres hacer, el por qué algo que te funciona no te sirve (¿entonces por qué lo hiciste? ). Como sea, insisto en lo que digo inicialmente (respecto a guardar HTML y crear archivos) que apenas entiendo el problema es por ahí...

Espero te sirva. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 27/12/2006, 10:26
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: Guardar pagina para poder visualizarla en cualquier momento...

jijiji si disculpa es que ese campo lo agrague despues y no puse el codigo en la estructura de la tabla de la bd ... a todo esto encontre un tema relacionado que creo me servira... http://www.forosdelweb.com/f18/guarda-pag-php-html-txt-144696/
__________________
Adios ...!!!!
  #13 (permalink)  
Antiguo 27/12/2006, 13:38
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Tema Solucionado

Primero que todo Muchas Gracias a todos... fue mas facil de lo que pensaba ... debi haber tomado mas encuenta las observaciones de jam1138, porque era tan simple como crear un field typè mediumtext en la bd y guardar el HTML (texto) en el para luego mostralo cuando yo quisiera.... =)

jijiji
-----------------------------------------------------------
Lo logre por fin =) adios y gracias.-
__________________
Adios ...!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:54.