Besonderer Downloadzähler

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

  • Besonderer Downloadzähler

    Hallo, kann mir jemand sagen, wie man einen Downloadzähler (Klickzähler) machen kann, der in einer Datei eine Zahl in einer Besonderen Zeile erhöht?

    Die Einträge werden so gepsiechert:

    15.02.03 um 21:09|Marcel|mail@hotmail.com|http://www.hp.ch|ip|host|Ein sehr gutes G&auml;stebuch, mit folgenden Features:<br /><b><br />1. Automatischer Zeilenumbruch<br />2. Smiles und BB-Code Funktion<br />3. Bei neuem Eintrag wird man mit einer Mail benachrichtigt<br />4. Badwort Filter<br />5. Neusten Eintr&auml;ge werden oben und nicht mehr unten angezeigt<br />6. Sehr einfach an das eigene Design anpassbar<br /></b>|Webmasters-Archiv.chs Gästebuch|0


    Im letzten Teil der Zeile steht 0, und diese Zahl soll erhöht werden, wenn man die Datei downloaden will.
    Kann mir da jemand Helfen?
    Vielen Dank.
    Gruss Adihas


  • #2
    • Eine eindeutige ID in die Datei einfügen (guter Ton und so )
    • Datei öffnen
    • jede einzelne Zeile einlesen bis du die richtige gefunden hast
    • $werte=explode('|',$zeile);
    • $werte[count($werte)-1]++;
    • $zeile=implode('|',$werte);
    • zurückschreiben in datei
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      datei in ein array einlesen. den arrayindex finden und entsprechend den wert im subindex um eins erhöhen ....

      EDIT:
      und diesmal war happy schneller
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Ok mrhappiness, aber sehr wahscheindlich schaffe ich das nicht, weil ich PHP nicht gerade so gut kann. Also kann ich das Problem aleine nicht lösen.

        Kommentar


        • #5
          @adihas
          warum bist du verärgert? weil du kein php kannst? -> ja? -> buch kaufen -> buch lesen

          wenn du von jemanden hier das script gemacht haben lassen willst, solltest du bei den script-gesuchen posten. dies nur als randinfo.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Datei einlesen geht mit
            PHP-Code:
            $zeilen=file('dateiname'); 
            wenn du deinen eintrag um ein feld erweiterst (die ID), dann hast du es um einiges einfacher
            Code:
            15.02.03 um 21:09|Marcel|...
            wird zu
            Code:
            81|15.02.03 um 21:09|Marcel|...
            In diesem Fall wäre die ID 81
            dann suchst du in ner while-schleife nach der id
            PHP-Code:
            $i=0;
            while (
            $i<count($zeilen)
            {
              
            $zeile=explode('|',$zeilen[$i]);
              if (
            $zeile[0]==$id)
              {
                 
            $zeile[count($zeile)-1]++;
                 
            $zeilen[$i]=implode('|',$zeile);
                 break;
              }
              
            $i++;

            und schreibst die datei wieder zurück

            Es nicht alleine schaffen heißt ja nicht, es nicht wenigstens zu probieren oder?
            Damit hast du ja schon fast alles
            Zuletzt geändert von mrhappiness; 15.02.2003, 20:43.
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Aha, und die ID ist immer eins höher als die vorherige? Also z.B. Zeile1 mit ID1 und Zeile 2 mit ID2 u.s.w?

              Kommentar


              • #8
                das wäre ne möglichkeit
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  @happy.....
                  wie schon tobi sagte/schrieb.
                  du bist zu gut für diese welt ...
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Original geschrieben von Abraxax
                    EDIT:
                    und diesmal war happy schneller
                    und so schnell, dass man mich kaum sieht

                    Aber ich denke, jetzt schafft er den Rest auch allein...
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      und so schnell, dass man mich kaum sieht


                      Original geschrieben von mrhappiness
                      Aber ich denke, jetzt schafft er den Rest auch allein...
                      ist ja nicht mehr viel ...
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Kann ich die ID nicht so festlegen:


                        $datei="kategorie/$kategorie.txt";
                        $anzahl_zeilen = count(file($datei));
                        $id = $anzahl_zeilen + 1;

                        ?Was habe ich falsch gemacht?

                        Kommentar


                        • #13
                          Also mrhappiness, ich habe jetzt mal die ID fest gelegt und sie wird jetzt immer um eins erhöht.
                          Wie kann ich jetzt das mit dem Downloadzähler machen?
                          Ich habe jetzt eine Datei mit folgendem Code:


                          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++;
                          }
                          ?>
                          Was muss ich jetzt damit machen?

                          Kommentar


                          • #14
                            Kann mir jetzt niemand bei diesem anscheinend so schweren Zähler helfen?

                            Kommentar


                            • #15
                              also...

                              du hast nen link <a href="/download.php?id=81">blabla</a>

                              wenn der user drauf klickt wird das skript aufgerufen und erhöht (so gott will und ich mich nich vertan hab) den zähler für den eintrag mit id 81 um 1.

                              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)

                              Jetzt sollte es aber klappen, is ja im Prinzip schon alles
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X