Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un service PHP

Sujet résolu
    17 septembre 2019 à 11:22:33

    Bonjour et merci d'avance à vous si vous pouvez m'aider sur le sujet : 

    J'aui voulu créer un service qui remet à zéro deux fichier text ( un fihicer counter et un fichier IP ), la fonction compare la date du jour avec la date du compteur et remet à zéro les deux fichiers si elles sont différentes. 

    Quand je modifie la date en directement dans le code cela fonctionne, sinon il ne se passe rien. Je suis certainement passé à coté de quelque chose mais je ne vois pas quoi. 

    Merci de m'éclairer. 

    Le service:

    <?php
    
    namespace App\Service;
    
    class DateService{
        public function getDate(){
    
            $dateC=new \DateTime();
          //  $dateC=new \DateTime('now');
            $dateJour=$dateC->format('Y-m-d');
            $dateFile="C:\Blog\Axo\public\date.txt";
            if (is_writable($dateFile)) {
                if (!$handle = fopen($dateFile, 'w+')) {
                    echo "Impossible d\'ouvrir le fichier($dateFile)";
                    exit;
                }
                if (fwrite($handle, $dateJour) === false) {
                    echo "Impossible d\'écrire dans le fichier ($dateFile)";
                    exit;
                }
                echo "MAJ Ok du fichier $dateFile";
                fclose($handle);
                }else{
                echo "Le fichier $dateFile n'est pas accessible en écriture";
               }
           $handle =fopen($dateFile,'r');
            $dateCompteur= fread($handle, filesize($dateFile));
           fclose($handle);
    
           $dateJ= new \Datetime();
           $dateComparee= $dateJ->format('Y-m-d');
    
            //comparaison date du jour et date du fichier, et remise à zéro du compteur si différente
            if ($dateComparee != $dateCompteur) {
                echo "ok";
              //  dump($dateJour);
               // dump($dateCompteur);
    
                $fileCount= "C:\Blog\Axo\public\counter.txt";
                $handleCount = fopen($fileCount, 'w+');
                fwrite($handleCount, 0);
                fclose($handleCount);
    
                $fileIp="C:\Blog\Axo\public\last_ip.txt";
                $handleIp =fopen($fileIp, 'w+');
                fwrite($handleIp,0);
                fclose($handleIp);
            }else{
                //echo 'pas ok ';
            }
    
        }
    
    }
    

    Le controleur : 

    <?php
    
    namespace App\Controller;
    
    
    use App\Service\DateService;
    use Doctrine\Common\Persistence\ObjectManager;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\Routing\Annotation\Route;
    use App\Service\StatService;
    use App\Repository\UserRepository;
    
    class AdminDashboardController extends AbstractController
    {
        /**
         * @Route("/admin/dashboard", name="admin_dashboard")
         *
         */
        public function index(ObjectManager $manager,DateService $dateService){
            $dateService->getDate();
    }
    




    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2019 à 11:30:58

      Bonjour,

      Comment voulez vous que 2 dates créées le même jour soit différentes ?

      • Partager sur Facebook
      • Partager sur Twitter
        17 septembre 2019 à 11:35:45

        En effet à force d avoir le nez dessus, je ne l'ai même pas vu. Je ne suis pas plus avancé mais au moment je sais d'ou vient mon erreur. 

        Merci 

        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2019 à 11:39:26

          Il suffit juste de comparer la date avant de la changer.
          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2019 à 12:04:52

            en effet c'est tout simple. Merci pour ton aide , c'était évident mais je ne voyais pas la solution. 

            • Partager sur Facebook
            • Partager sur Twitter

            Création d'un service PHP

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown