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
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
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
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
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
Partager