Bonsoir,
J'utilise une classe PHP pour me connecter à ma base de données ( centralisation de l'exécution des requêtes, classique ) j'aimerais sauvegarder dans un fichier texte les requêtes d'insertion, de modification et de suppression.
Seul problème, dans mon projet j'appelle ma classe dans différent endroit comment faire pour écrire un fichier dans un répertoire sans devoir modifier tous mes scripts (environ 30 )
voici le code qui exécute les requêtes :
Code :
- // PUBLIC : Envoi d'une requete a la DB
- function send_query($query) {
- if ( !$this->connect_id ) $this->connect($this->host,$this->user,$this->pass,$this->base);
- if ( $this->result_id = mysql_query($query, $this->connect_id) ) {
- $this->query = trim($query);
- $this->error = '';
- if ( preg_match('`^(insert|update|delete)`i',$this->query) ) $this->log_query();
- return $this->result_id;
- } else {
- $this->error = mysql_error();
- return FALSE;
- }
- }
|
Voici la fonction dans la meme classe qui doit enregistrer les requetes :
Code :
- function log_query() {
- $fic = "../../backup/".date("Ymd" ).".sql";
- if ($fp = fopen($fic , "a" ) ) {
- fwrite($fp , $this->query."\n" );
- fclose($fp);
- }
- }
|
ma classe mysql ce trouve dans un répertoire type : "/includes/class/"
et le fichier de sauvegarde dans le répertoire "/backup/fichier.sql"
en faite le problème ce situe ici :
Code :
- $fic = "../../backup/".date("Ymd" ).".sql";
|
dés fois j'accède au log par '../../backup/' et dés fois c'est en faisant '../backup/' comment faire pour avoir une adresse fixe ?
Cela ne doit pas être très claire, mais n'hésitais pas à me poser des questions, j'y répondrais du mieux que je peux.
---------------
Tout à commencé par un rêve...