Foros del Web » Programando para Internet » PHP »

Duda con funciones de sistema de fichero

Estas en el tema de Duda con funciones de sistema de fichero en el foro de PHP en Foros del Web. Hola: Estoy creando un script para crear backups cada vez que se realizen acciones sobre la base de datos, es decir, salvar en un fichero. ...
  #1 (permalink)  
Antiguo 23/01/2004, 16:30
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Duda con funciones de sistema de fichero

Hola:
Estoy creando un script para crear backups cada vez que se realizen acciones sobre la base de datos, es decir, salvar en un fichero. txt o .dat las consultas realizadas a la BD de forma que si se me chiva por cualquier cosa poder insertar toda la información nuevamente. Para esto estoy creando una función que tiene este formato:
Código PHP:
function updatelogs($fichero,$mode,$text){
     
$fileopen fopen($fichero,$mode);
     
fseek($fileopen,0);
      if (
fwrite($fileopen,$text,filesize($fileopen))){
          echo 
"Se han guardado los datos correctamente";
      }else{
          echo 
"No se han podido guardar los datos";
      }
     
fclose($fileopen);
 } 
ahora viene mi duda como puedo crear el archivo $fichero que le paso como parámetro, pues las quiero guardar por día, es decir, en un fichero llamado por ejemplo 100104.txt poner todos los eventos realizados sobre la BD del día 10 de enero del 2004 y como puedo crear ese mismo fichero $fichero en un directorio llamado logs que se encuentra dentro de la raíz del sitio. Ah otra cosa con la tmpfile puedo crear este fichero.?

¿Me explico bien?

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 25/01/2004, 02:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías leer la documentación de PHP sobre las funciones que está usando esa función ...

A un fopen() se le pasa como parámetro el nombre Y ruta de tu archivo .. La ruta ha de ser absoluta para evitar problemas, pero .. dependiendo de la estructura de tu sitio podría ser simplemente:

/
/log
nose.php

(nose.php = tu script que hace el log)

la ruta sería para el fopen() .. (que lo tienes en tu $archivo variable):
Código PHP:
$archivo="./log/nombre.txt"
ó
Código PHP:
$archivo="log/nombre.txt" 
Pero mejor:
Código PHP:
$ruta_absoluta $_SERVER['DOCUMENT_ROOT']; 
(según el S.O. de tu servidor . .apunta al "document_root" desde donde cuelga tu "raiz" de tu sitio en ese servidor (en un phpinfo() lo puedes ver).

Código PHP:
$archivo $ruta_absoluta."/log/nombre.txt" 
Sólo tienes que crear tu directorio "log" y darle los permisos de escritura/lectura si corresponde (en sistemas Linux hace falta ... en windows 9x no).

--------

Para el tema de "los eventos" de un dia concreto .. Deberías guardarte en esos registros de tus tabla(s) implicadas en tu BD la fecha en el que creas/actualizas esos registros para poder hacer la consulta SQL pertinente por esa tabla(s) bajo la condición de que el campo "fecha_evento" sea el que selecciones o indiques.

Mysql "creo" que no guarda por defecto o como parte de sus sistema la fecha en el que creas o modificas un registro .. Como mucho guarda cuando creas una tabla/Base de datos y/o la alteras ... Pero los registros .. sería tarea tuya como te he comentado (y si hay forma de hacerlo a nivel registros .. lo comentan por aquí).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:50.