Bonjour à tous,

Je suis en train de modifier une application au propre mais je me "heurte" à un problème.
En effet sur l'ancienne application il y a avait un mini script permettant d'enregistrer dans un fichier CSV toute les requêtes effectué par les utilisateurs (hormis les SELECT).
Celui-ci fonctionnait à merveille.

Aujourd'hui je tente d'intégrer ce script sur la nouvelle application et là les tabulations ne disparaissent pas.
Le seul changement que j'ai entre les deux versions est l'encodage des fichiers.
La première application les fichiers sont en ASCII si je me souvient bien et actuellement je suis en UTF-8

Toute mes requêtes sont indentés de cette manière afin d'être compréhensible en un seul coup d'oeil

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
$req_modif_info_structure = "UPDATE
                                        `$_VARIABLE_BDD_TABLE_ADMIN_info_structure`
                                    SET 
                                        `sigle_admin_info_structure`                = \"$var_sigle_admin_info_structure\"
                                        , `nom_admin_info_structure`                = \"$var_nom_admin_info_structure\"
                                        , `adresse_admin_info_structure`            = \"$var_adresse_admin_info_structure\"
                                        , `complement_adresse_admin_info_structure` = \"$var_complement_adresse_admin_info_structure\"
                                        , `cp_admin_info_structure`                 = \"$var_cp_admin_info_structure\"
                                        , `ville_admin_info_structure`              = \"$var_ville_admin_info_structure\"
                                        , `telephone_admin_info_structure`          = \"$var_telephone_admin_info_structure\"
                                        , `fax_admin_info_structure`                = \"$var_fax_admin_info_structure\"
                                        , `email_admin_info_structure`              = \"$var_email_admin_info_structure\"
                                        , `site_admin_info_structure`               = \"$var_site_admin_info_structure\"
                                        , `code_ape_admin_info_structure`           = \"$var_code_ape_admin_info_structure\"
                                        , `num_siret_admin_info_structure`          = \"$var_num_siret_admin_info_structure\"
                                        , `num_tva_admin_info_structure`            = \"$var_num_tva_admin_info_structure\"
                                        , `enregistrement_admin_info_structure`     = \"$var_enregistrement_admin_info_structure\"
                                    WHERE 
                                        `id_admin_info_structure` = \"$var_id_admin_info_structure\"
            ";
Or dans mon fichier CSV j'obtient ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
22/01/18 04:13	/XXXX/configuration/gestion_coordonnee.php	nhe	UPDATE                                        `ADMIN_info_structure`                                    SET                                         `sigle_admin_info_structure`                = "XXX"                                        , `nom_admin_info_structure`                = "XXX"                                        , `adresse_admin_info_structure`            = "XXX"                                        , `complement_adresse_admin_info_structure` = ""                                        , `cp_admin_info_structure`                 = "XXX"                                        , `ville_admin_info_structure`              = "XXX"                                        , `telephone_admin_info_structure`          = "XXX"                                        , `fax_admin_info_structure`                = "XXX"                                        , `email_admin_info_structure`              = "XXX"                                        , `site_admin_info_structure`               = "XXX"                                        , `code_ape_admin_info_structure`           = "XXX"                                        , `num_siret_admin_info_structure`          = "XXX"                                        , `num_tva_admin_info_structure`            = "XXX"                                        , `enregistrement_admin_info_structure`     = "XXX"                                    WHERE                                         `id_admin_info_structure` = "1"
Alors que je voudrais obtenir ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
17/02/16 09:51	/ajoutTypeProduit.php	CDA	INSERT INTO type_produit VALUES ( '', "", "07", "PLOT", "XXX", "1" )
A noté que dans la première application mes requêtes sont également indenté de cette manière.

Enfin pour finir voici mon bout de code permettant l'enregistrement dans le fichier CSV

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$requete_trait = trim( $requete );
 
            if( strncmp( $requete_trait, "SELECT", strlen( "SELECT" ) ) == 0 )
            {
                // echo "SELECT $requetebis<br>";
            }
            else
            {
                //echo "Autre $requete_trait<br>";
                $requete_trait = str_replace( "\n", "", $requete_trait );
                $requete_trait = str_replace( "\r", "", $requete_trait );
                $requete_trait = str_replace( "\t", "", $requete_trait ); 
                //$requete_trait = str_replace( " ", "", $requete_trait );          
                $requete_trait = utf8_decode( $requete_trait );
                $time = date( 'd/m/Y h:i:s' );
                $login = $_SESSION[ 'login_admin_utilisateur' ];
                $url = $_SERVER['SCRIPT_NAME'];
                $tab_url = explode( '/', $url );
                $vide = $tab_url[0];
                $application = $tab_url[1];
                $module = $tab_url[2];
                $page = $tab_url[3];
                $nannee = date( 'Y' );
                $nmois = date( 'm' );
                $ligne = "$time;$url;$login;$requete_trait;\n";
 
                if( file_exists( "../logMysql/$module/$page/$nannee" ) == false )
                {
                    mkdir( "../logMysql/$module/$page/$nannee", 0777, true );
                    chmod( "../logMysql/$module/$page/$nannee", 0777 );
                }
 
                $fp = fopen( "../logMysql/$module/$page/$nannee/$nmois.csv", "a+" );  
                fwrite( $fp, $ligne );
                fclose( $fp );
Merci d'avance pour votre aide.

Nicolas