IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

écrire la date en entête


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut écrire la date en entête
    Bonjour

    J'ai un petit script que j'ai modifié pour mes besoins, toutefois j'aimerais faire en sorte d'afficher le rendu sous forme de "catégorie" dans le sens...

    Actuellement l'affichage se fait ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mercredi 09 Juin 2012 IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    et la date s'affiche toujours au début de chaque ligne...or j'aimerais que la date soit affiché qu'une seule fois pour la journée de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:56:44 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    Jeudi 10 Mai 2012
    .....ainsi de suite
    Voici mon code
    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
     
    <?PHP
    // On enregistre l'accès 
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
    fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
    $log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f); 
    ?>
    Merci pour les infos

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Salut,

    Et comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $log = "\n" . ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
    En rajoutant un saut de ligne juste avant.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour l'aide

    la ligne ne fait que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    J'ai essayé de faire ainsi

    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
     
    <?PHP
    // On enregistre l'accès 
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $dateA = 'getdate()';  
    $dateB = '$datefr'; 
    if(strtotime($dateA) > strtotime($dateB)){ 
        //fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    //$log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f);
    }
    else
    fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    //$log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f);
     
    ?>
    Mais ça ne fonctionne pas

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Bon, on est d'accord que tout ceci est contenu dans une boucle ? (Sauf l'ouverture et la fermeture de fichier)

    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
    <?php
    // On enregistre l'accès
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
     
    $f = fopen("ipintra.html", "a+");
    $old_datefr = '';
     
    while () { // Ici ta boucle, de quelque nature quelle soit for() foreach() do while().
        $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
        if ($old_datefr != $datefr) {
            fwrite($f, $datefr . "\n");
            $old_datefr = $datefr;
        }
     
        $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
        $log .= date('Y-m-d');
        $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
        $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n";
        fwrite($f, $log);
        fwrite($f, "<br /><br />");
    }
    fclose($f); 
    ?>
    J'ai pas testé....

    Pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dateA = 'getdate()'; // A la limite sans les guillemets
    $dateB = '$datefr'; // Idem, sans les guillemets. Ou avec des doubles guillemets

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour les infos Torgar

    j'ai changé quelque peut le processus, j'arrive a 50% de ce que je veux

    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
     
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.html";  
    $pattern = "$datefr"; 
    $handle = fopen($filename, "r"); 
    $file = fread($handle,filesize($filename)); 
    if (preg_match('#' . $pattern . '#', $file, $match)) { 
        echo $pattern . " found in ipintra.html.";
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    } 
    else { 
        echo $pattern . " was not found"; 
    } 
    fwrite($f, $datefr . "<br />");
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f); 
    fclose($handle);
    ?>


    ainsi ça me donne (dans le cas ou j'accède 2 fois à la page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
     
    Jeudi 10 Mai 2012
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
     
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
     
    Jeudi 10 Mai 2012
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    y a quelque chose dans le if else que je ne sais si pas?

    Une piste

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Ouais donc en fait, tu fais ton fichier de log ><

    Dans ce cas, il faut :

    1 - récupèrer le contenu de ipintra.html
    2 - regarder si il y a la date du jour (ton preg_match())
    3 - si preg_match() est vrai alors tu ajoutes la ligne sans la date, sinon tu ajoutes la date, puis ta ligne

    Vite fait comme ça :

    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
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.html";  
    $pattern = "$datefr"; 
    $handle = fopen($filename, "r"); 
    $file = fread($handle,filesize($filename));
     
    if (!preg_match('#' . $pattern . '#', $file, $match)) {
        echo $pattern . " found in ipintra.html.";
        fwrite($f, $datefr . "<br />");
    } 
    else { 
        echo $pattern . " was not found"; 
    }
    // quoi qu'il en soit, on écrit les lignes.
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />'); // A vérifier si c'est bien deux retour à la ligne que tu souhaites.
     
    fclose($f); 
    fclose($handle);
    ?>

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bon finalement tout était correct dans mon dernier code

    en fait il y avait un } qui était mal placé de ce fait

    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
     
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.html";  
    $pattern = "$datefr"; 
    $handle = fopen($filename, "r"); 
    $file = fread($handle,filesize($filename)); 
    if (preg_match('#' . $pattern . '#', $file, $match)) { 
        echo $pattern . " found in ipintra.html.";
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    } 
    else { 
        echo $pattern . " was not found"; 
    //le } était placé ici
    fwrite($f, $datefr . "<br />");
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f); 
    fclose($handle);
    //} <---ce } doit être ici et non plus haut comme commenté
    ?>
    De ce fait tout fonctionne correctement

    Merci a toi Torgar pour avoir éclairé mon chemin

  8. #8
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Ah oui, pas fait gaffe

    Pense au tag en bas de page.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Si je peux me permettre :
    Regarde quand même le code de Torgar : il est plus optimisé que le tien...

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,
    une version plus optimisée et évitant la cuisine des dates :
    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
    <?php
     
    $fmt    = new IntlDateFormatter('fr-FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE, null, null, 'EEEE dd MMMM yyyy');
    $datefr = ucwords($fmt->format(strtotime('now')));
    $time   = date('H:i:s');
     
    $filename = "ipintra.html";
    $handle   = fopen($filename, "r");
    $file     = fread($handle, filesize($filename));
     
    $log = <<<LOG
    <span style="color: #ff0000">IP=</span>{$_SERVER['REMOTE_ADDR']}
    <span style="color: #ff0000">Heure=</span>{$time}
    <span style="color: #ff0000">Agent=</span>{$_SERVER['HTTP_USER_AGENT']}
    <br /><br />
    LOG;
     
    if (preg_match("#$datefr#", $file, $match)) {
       echo "$datefr found in ipintra.html.";
       fwrite($f, $log);
    }
    else {
       echo "$datefr was not found";
       fwrite($f, $datefr.'<br />');
       fwrite($f, $log);
       fclose($f);
       fclose($handle);
    }
    ?>

  11. #11
    Invité
    Invité(e)
    Par défaut
    Merci pour les infos je vais regarder ça effectivement

    J'ai revu le code pour en arriver à ceci...

    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
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.log", "a+");
     if ($f) {
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.log";  
    $pattern = "$datefr"; 
    $file = file_get_contents($filename);
    if (!preg_match('#' . $pattern . '#', $file)) {
           // Date non trouvée, on rajoute
           fwrite($f, $datefr . "\n");
    }   
    $log = ' IP=' . $_SERVER['REMOTE_ADDR'];
    $log .= ' Heure=' . date('H:i:s');
    $log .= ' Agent=' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, "\n");
    fclose($f); 
    }
    ?>
    Qu'en dites vous? Sachant que je ne cuisine pas souvent le php...

  12. #12
    Invité
    Invité(e)
    Par défaut
    On peut toujours pinailler...
    la variable $pattern ne sert à rien (puisqu'elle est égale à $datefr) :
    $pattern = "$datefr";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $file = file_get_contents($filename);
    if (!preg_match('#' . $datefr . '#', $file)) {
    Idem pour $log :
    $log = ' IP=' . $_SERVER['REMOTE_ADDR'];
    $log .= ' Heure=' . date('H:i:s');
    $log .= ' Agent=' . $_SERVER['HTTP_USER_AGENT'] . "\n";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fwrite($f, ' IP='.$_SERVER['REMOTE_ADDR'].' Heure='.date('H:i:s').' Agent='.$_SERVER['HTTP_USER_AGENT']."\n");
    Mais bon. C'est juste pour dire de pinailler...

  13. #13
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ok maintenant qu'on a ta version finale,
    voici une autre optimisée :
    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
    <?php
    $fmt  = new IntlDateFormatter('fr-FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE, null, null, 'EEEE dd MMMM yyyy');
    $date = ucwords($fmt->format(strtotime('now')));
     
    $filename = "ipintra.log";
    $data     = file_get_contents($filename);
     
    if ($data !== false) {
       $file = fopen($filename, "a");
       if ($file !== false) {
          $log  = (strpos($data, $date) === false) ? "$date\n" : '';
          $log .= 'IP='.$_SERVER['REMOTE_ADDR'].' Heure='.date('H:i:s').' Agent='.$_SERVER['HTTP_USER_AGENT']."\n";
          fwrite($file, $log);
          fclose($file);   
       }   
    }
    ?>
    Il est de loin préférable de s'affranchir de preg_match() qui dans ce cas ne se justifie en rien. La recherche est trop simple, pas besoin de tirer le canon.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2009, 18h23
  2. Réponses: 5
    Dernier message: 24/11/2008, 15h07
  3. Réponses: 23
    Dernier message: 07/08/2008, 11h52
  4. Réponses: 18
    Dernier message: 30/09/2005, 09h30
  5. [CR.NET] Rapport de présences avec série de dates en entête
    Par crackity_jones666 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 30/07/2004, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo