Besonderer Downloadzähler

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Dan ist das:
    PHP-Code:
    <?
    $zeilen=file('kategorie/datei.txt');

    $i=1;
    while ($i<count($zeilen))
    {
      $zeile=explode('|',$zeilen[$i]);
      if ($zeile[0]==$id)
      {
         $zeile[count($zeile)-1]++;
         $zeilen[$i]=implode('|',$zeile);
         break;
      }
      $i++;
    }
    ?>
    Der fertige Code ?

    Kommentar


    • #17
      Original geschrieben von mrhappiness
      im array $zeilen hast du nach dem codefragment den neuen inhalt der datei, den du jetzt nur noch zurückschreiben musst. (implode; "\n" als Trenner; string in Datei schreiben)

      btw. wäre besser,wenn du statt $id $_GET['id'] verwendest (is mir grad so eingefallen)
      Wie gesagt. Das zurückschreiben in die Datei fehlt noch. Wie wär's mit etwas (extra kleingeschrieben ) Eigeninitiative?
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        hmm.... ich werden es mal probieren, aber meine Kentnisse sind nicht so gut, deswegen glaube ich nicht das ich es schaffe, aber ich probiere es mal

        Kommentar


        • #19
          Kleiner Tipp am Rande:

          Wenn du sagst,was du probiert hast, entsteht nicht der Eindruck, dass du jemanden suchst, der das für dich macht.
          Eine Besuch bei http://www.php.net/manual/de/function.implode.php und den befehlen fopen, fwrite ist auch nich verkehrt. Damit sollt es eigentlich keine Verständnisprobleme geben
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            muss ich dann nur die Zeile speichern oder irgendwie den rest in eine variebal setzen und dann anhängen oder irgendwie so?

            Kommentar


            • #21
              s.o.



              Mehr wollt ich zuerst nich schreiben, aber... ich bin ja nich so.
              Per implode wandelst du das array $zeilen (dass ja jetzt alle Einträge inkl. dem geänderten (um eins erhöhten) enthält) in einen string um.

              Dann öffnest du die Datei und schrfeibst einfach diesen string da rein und... e voilà, c'est everything
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #22
                Was stimmt jetzt wieder nicht?:
                PHP-Code:
                <?
                $kategorie = "kategorie/$cat.txt";
                $datei = fopen ($kategorie, "a");
                $zeilen=file('kategorie/gaestebuch.txt');

                $i=1;
                while ($i<count($zeilen))
                {
                  $zeile=explode('|',$zeilen[$i]);
                  if ($zeile[0]==$id)
                  {
                     $zeile[count($zeile)-1]++;
                     $zeilen[$i]=implode('|',$zeile);
                     break;
                  }
                  $i++;
                }
                $save = implode ("|", $zeilen);

                fputs($datei, $save);
                fclose($datei);

                ?>

                Kommentar


                • #23
                  Original geschrieben von adihas
                  PHP-Code:
                  $kategorie "kategorie/$cat.txt";
                  $datei fopen ($kategorie"a");
                  $zeilen=file('kategorie/gaestebuch.txt');
                  ...
                  $save implode ("|"$zeilen);

                  fputs($datei$save);
                  fclose($datei); 
                  Was steht in $cat???
                  Original geschrieben von mrhappiness
                  im array $zeilen hast du nach dem codefragment den neuen inhalt der datei, den du jetzt nur noch zurückschreiben musst. (implode; "\n" als Trenner; string in Datei schreiben)
                  Ich seh bei dir nirgends ein "\n", siehst du das?

                  EDIT:
                  btw: Schon mal geschaut welcher Parameter bei fopen was bewirkt?!
                  Zuletzt geändert von mrhappiness; 16.02.2003, 20:42.
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #24
                    $cat wird im Link definiert: download.php?id=1&cat=gaestebuch

                    Oops, habe ein \n vergessen, aber es speichert einfach den Inhalt 2 mal!?
                    Warum das!?

                    Kommentar


                    • #25
                      s.o.

                      das mit cat is aber eher suboptimal,wenn ich nämlich deinen link nehme und das umändere in download.php?id=1&cat=../geheimerordner/geheim.txt hast du ein problem oder?

                      Wenn du weißt wo das Gaestebuch liegt, dann verwende besser den hardcodierten pfad
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #26
                        Nein, ich will das so machen.
                        Man muss ja im Link nur das eingeben:

                        download.php?cat=gaestebuch

                        und es kommt auch kein fehler, da ich glaube dass das Stimmt wegen der Kategorie, wenn man folgenden Code benützt:



                        PHP-Code:
                        <?
                        $kategorie = "kategorie/$cat.txt";
                        $datei = fopen ($kategorie, "a");
                        $zeilen=file('kategorie/gaestebuch.txt');

                        $i=1;
                        while ($i<count($zeilen))
                        {
                          $zeile=explode('|',$zeilen[$i]);
                          if ($zeile[0]==$id)
                          {
                             $zeile[count($zeile)-1]++;
                             $zeilen[$i]=implode('|',$zeile);
                             break;
                          }
                          $i++;
                        }
                        $save = implode ("\n", $zeilen);

                        fputs($datei, $save);
                        fclose($datei);

                        ?>

                        Oder etwa nicht?
                        Und warum speichert es den Eintrag 2 mal!?
                        Gruss adihas

                        Kommentar


                        • #27
                          Original von adihas
                          Und warum speichert es den Eintrag 2 mal!?
                          Original geschrieben von mrhappiness
                          s.o.
                          s.o. = siehe oben
                          oben steht
                          Original geschrieben von mrhappiness
                          btw: Schon mal geschaut welcher Parameter bei fopen was bewirkt?!
                          Und nochmal zu $cat:

                          ich kann doch einfach in die Adreßleiste download.php?cat=irgendwasgeheimes eingeben oder nich?
                          und dann wird einfach die datei irgendwasgeheimes überschrieben
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #28
                            ja, so ist das, oder nicht?

                            Kommentar


                            • #29
                              wird nur der eine zu ändernde Eintrag zweimal gespeichert, oder komplett alles?

                              Ich wage zu behaupten, dass der Parameter "a" bei fopen falsch ist (a=append=anhängen)
                              "w" wäre imo richtig (w=write=schreiben)
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar


                              • #30
                                Ja, habe es in w geändert.
                                Jetzt speichert es alles richtig, nur setzt es nirgends den download um eins höher!?
                                Hier mal der Code:

                                PHP-Code:
                                <?
                                $kategorie = "kategorie/$cat.txt";
                                $datei = fopen ($kategorie, "w");
                                $zeilen=file('kategorie/gaestebuch.txt');

                                $i=1;
                                while ($i<count($zeilen))
                                {
                                  $zeile=explode('|',$zeilen[$i]);
                                  if ($zeile[0]==$id)
                                  {
                                     $zeile[count($zeile)-1]++;
                                     $zeilen[$i]=implode('|',$zeile);
                                     break;
                                  }
                                  $i++;
                                }
                                $save = implode ("\n", $zeilen);

                                fputs($datei, $save);
                                fclose($datei);

                                ?>
                                Was ist daran falsch?

                                Kommentar

                                Lädt...
                                X