Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur d'ecriture

Sujet résolu
    8 juin 2007 à 10:36:27

    bonjours,
    il s'emblerais qu'il y ai une erreur lors de l'ecriture qu'execute mon document php :
    $timestamp = fopen('timestamp.txt', 'r+');
    $timestamp = fgets($timestamp);
    $timestampD = time()-$timestamp;
    $timestampT = $timestamp+86400;
    $ip = fopen('ip.txt', 'r+');
    $ip = fgets($ip);
    $today = fopen('today.txt', 'r+');
    $today = fgets($today);
    $total = fopen('total.txt', 'r+');
    $total = fgets($total);
    while (86400 <= $timestampD)
    {
    fseek($timestamp, 0);
    fputs('timestamp.txt', $timestampT);
    fseek($ip, 0);
    fputs('ip.txt', '');
    fseek($today, 0);
    fputs('today.txt', '0');
    }
    $ipvisite = $_SERVER['REMOTE_ADDR'];
    $iptotal = explode('%', $ip);
    if(in_array($ipvisite, $iptotal))
    {}
    else
    {
    fwrite('ip.txt', $ipvisite.'%');
    fseek($today, 0);
    $today++;
    fwrite('today.txt', $today);
    fseek($total, 0);
    $total++;
    fwrite('total.txt', $total);
    }


    et voila les erreur :

    Citation : php

    Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\bas-page.php on line 98

    Warning: fseek(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\bas-page.php on line 99

    Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\bas-page.php on line 101

    Warning: fseek(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\bas-page.php on line 102

    Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\bas-page.php on line 104


    il s'agit de cette partie du code qui pose probleme :
    else
    {
    fwrite('ip.txt', $ipvisite.'%');
    fseek($today, 0);
    $today++;
    fwrite('today.txt', $today);
    fseek($total, 0);
    $total++;
    fwrite('total.txt', $total);
    }


    Pouvez vous m'aider ?
    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2007 à 10:47:25

      $fichier = fopen('ip.txt','w');
      fwrite($fichier,$i);
      fclose($fichier);


      Le principe est le même pour le reste. fwrite prend un flux de sortie en paramètre, et pas une chaîne de caractère. Il faut obligatoirement passer par fopen.
      • Partager sur Facebook
      • Partager sur Twitter
        8 juin 2007 à 10:58:04

        Pas bien :

        fwrite('today.txt', $today);


        Bien :

        $fichier = fopen('today.txt','w');
        fwrite($fichier,$today);
        fclose($fichier);


        Je peux pas faire plus clair ^^ Ca marche comme ça, et puis c'est tout :p
        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2007 à 10:59:22

          a d'accord mais je peut pas l'ouvrir en mode r+ ?
          • Partager sur Facebook
          • Partager sur Twitter
            8 juin 2007 à 11:22:34

            euh en faite ça marche toujour pas, maintenant il y a des millier d'erreur qui saffiche ça vien de la boucle je pense :

            Citation : php

            Warning: fseek(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 11

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 12

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 14

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 16

            Warning: fseek(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 11

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 12

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 14

            Warning: fputs(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 16
            ...
            ...
            ...
            Fatal error: Maximum execution time of 30 seconds exceeded in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 12

            • Partager sur Facebook
            • Partager sur Twitter
              8 juin 2007 à 11:29:33

              Tu as une boucle avec un test, qui ne change jamais. Tu ne modifies jamais timestampD à l'intérieur de ta boucle, donc si le test est vrai une fois, il sera vrai à l'infini.

              Ensuite, tu appelles ton flux d'entrée "timestamp" ($timestamp = fopen()). Mais la ligne d'en dessous, tu redéfinis timestamp ($timestamp = fgets($timestamp). Résultat, ton flux d'entrée n'existe plus.

              Et plus loin dans la boucle, tu essaies de le rappeler :

              fseek($timestamp, 0);

              Sauf que maintenant, $timestamp contient une chaîne de caractères, et non plus un flux.
              • Partager sur Facebook
              • Partager sur Twitter
                8 juin 2007 à 13:27:16

                voila j'ai changer le code :
                1#      $timestamp = fopen('timestamp.txt', 'r+');
                2#      $timestampn = fgets($timestamp);
                3#      $timestampD = time()-$timestampn;
                4#      fclose($timestamp);
                5#      $ip = fopen('ip.txt', 'r+');
                6#      $today = fopen('today.txt', 'r+');
                7#      $total = fopen('total.txt', 'r+');
                8#      while (86400 <= $timestampD)
                9#      {
                10#     $timestamp = fopen('timestamp.txt', 'r+');
                11#     $timestampn = fgets($timestamp);
                12#     $timestampT = $timestampn+86400;
                13#     $timestampD = time()-$timestampn;
                14#     fseek($timestamp, 0);
                15#     fwrite('timestamp.txt', $timestampT);
                16#     fseek($ip, 0);
                17#     fwrite('ip.txt', '');
                18#     fseek($today, 0);
                19#     fwrite('today.txt', '0');
                20#     fclose($timestamp);
                21#     }
                22#     $ipn = fgets($ip);
                23#     $ipvisite = $_SERVER['REMOTE_ADDR'];
                24#     $iptotal = explode('%', $ip);
                25#     if(in_array($ipvisite, $iptotal))
                26#     {}
                27#     else
                28#     {
                29#     fwrite('ip.txt', $ipvisite.'%');
                30#     fseek($today, 0);
                31#     $todayn = fgets($today);
                32#     $todayn++;
                33#     fwrite('today.txt', $todayn);
                34#     fseek($total, 0);
                35#     $totaln = fgets($total);
                36#     $totaln++;
                37#     fwrite('total.txt', $totaln);
                38#     }
                39#     fclose($ip);
                40#     fclose($today);
                41#     fclose($total);


                mais cette fois il y a ces erreurs dans la boucle :

                Citation : PHP

                Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 15

                Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 17

                Warning: fwrite(): supplied argument is not a valid stream resource in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 19
                ...
                ...
                ...
                Fatal error: Maximum execution time of 30 seconds exceeded in c:\documents and settings\tom\bureau\mes projet\revoluson\haut-page.php on line 18

                • Partager sur Facebook
                • Partager sur Twitter
                  8 juin 2007 à 14:02:50

                  Pour la 3ème fois :

                  Le premier paramètre de fwrite ne peut pas être une chaîne de caractères !!!!!

                  Ca doit être un flux de sortie, créé par la fonction fopen

                  fwrite('ip.txt', $ipvisite.'%');
                  fwrite('today.txt', $todayn);
                  fwrite('total.txt', $totaln);
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 juin 2007 à 14:08:28

                    lol j'allais justement dire que j'ai resolu se probleme desoler et merci encore
                    • Partager sur Facebook
                    • Partager sur Twitter

                    erreur d'ecriture

                    × 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