Ankündigung

Einklappen
Keine Ankündigung bisher.

Was ist wenn... (IPsperre, Textdatei) ?

Einklappen

Neue Werbung 2019

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

  • Was ist wenn... (IPsperre, Textdatei) ?

    Hi

    wie man einen Counter (basierend auf Textdateien) mit einer Reloadsperre programmiert, weiss ich. Aber wenn man jetzt davon ausgeht, dass man (wie üblich halt) 2 Dateien hat (ip.txt, counter.txt). In der ip.txt werden alle IPs gespeichert, und es wird bei jedem Aufruff der Seite geprüft obs vorhanden ist und die reloadzeit schon abgelaufen ist und so weiter...

    Und jetzt zu meiner Frage: Was ist wenn 7 Besucher gleichzeitig die Site betretten und jeder führt das Script aus? Wie managed das php? Die datei kann ja nicht von 7 verschiedenen "Dateizeigern" angesprochen werden, oder doch? Versteht ihr was ich meine? Also ich verstehs mal garnicht.
    Kann mir das vieleicht mal jemand erläutern?

    Gruß
    bigJay


  • #2
    Da gilt das Motto, wer zuerst kommt, malt zuerst. In dem Moment, wo die Datei geöffnet wird, solltest du diese auch für weitere Zugriffe sperren und erst, wenn das Script alles erledigt hat, die Datei wieder freigeben. Warum benutzt du keine Datenbank, das ist doch viel einfacher.

    Gruß
    phpfan

    Kommentar


    • #3
      Mhh, ich bin eigentlich noch am überlegen, was ich benutze, db oder txt.

      Wenn wir jetzt von der Situation mit 7 Besuchern ausgehen, wird dann die datei von jemandem geöffnet und für die anderen gesperrt. Wartet dann php bis die datei wieder entsperrt ist und trägts dann ein, oder wird der Klick von den anderen 6 nicht gezählt???

      Ich mein bei einer Datenbank besteht doch die gleiche Gefahr. Oder überdramatisiere ich das alles???

      Gruß
      bigJay

      Kommentar


      • #4
        Zumindest bei der Datenbank werden die Befehle nacheinander alle ausgeführt. Da dürfte der Fehler wohl nicht auftreten. Bei Dateien würde ich sagen, der 2. probiert die Datei aufzumachen, der 1. hat sie aber noch geöffnet, also gibts für den 2. ein false und der Zugriff würd nicht gezählt. Ist aber nur ne Vermutung.

        Kommentar


        • #5
          Aha! So in etwa Hab ich es mir auch gedacht.

          Also 1 zu 0 für die Datenbank. Wenns jemand genau weiss, dann raus damit.

          Danke
          Gruß
          bigJay

          Kommentar


          • #6
            Warum probierst du das nicht einfach aus?

            Gruß
            phpfan

            Kommentar


            • #7
              und wie?

              Kommentar


              • #8
                Haaaaaallllllooooooo?????????

                Mitdenken ist immer noch erlaubt. Schreibe ein Script, dass eine Datei öffnet und jede Menge Daten in diese Datei schreibt. Dann machst du zwei Browser-Fenster auf und startest das Script in beiden Browsern!!!

                Ist das jetzt so schwer??? Das ist in 2 Minuten erledigt.

                Gruß
                phpfan

                Kommentar


                • #9
                  Also bei dem Test ist alles richtig abgelaufen. ABER es waren jetzt nur drei gleichzeitige Aufruffe. Und ob diese wirklich immer gleichzeitig waren oder nicht, ist die andere Frage.

                  Kennt jemand eine ausführliche Doku dazu?

                  Kommentar


                  • #10
                    Es gibt echt Leute, die wollen alles kompliziert lösen Nimm einfach die Datenbank!

                    Kommentar


                    • #11
                      Wenn meinst du denn jetzt damit???

                      Ich ferwende eine Datenbank jetzt schon für meine Counter. Wollte halt mal wissen wie es bei Textdateien so ist.

                      Kommentar


                      • #12
                        Na dich! Wenn du sogar ne Datenbank hast, spricht absolut nichts für eine Datei-Lösung!
                        Wenn dus echt nur wissen wolltest, mehr als eine Vermutung war das ja nicht von mir, würde aber trotzdem instinktiv sagen, meine Aussage ist so korrekt

                        Kommentar


                        • #13
                          Na dann glaub ich es dir einfach mal so...
                          ...Solang ich nicht das Gegenteilbeweisen kann. :wink:

                          Schönen Tag noch allerseits!

                          Kommentar


                          • #14
                            kannst ihm beruhigt glauben er hat recht.

                            auch musst dir mal überlegen wie lange dein server braucht um ne datei zu laden(auch wenn sie nur ein paar byte hat) und einen Datenbankzugriff zu machen.

                            Kommentar


                            • #15
                              ist eigentlich bekannt, das php bei mehrfachzugriffen einfach die texdatei auf 0 bytes zurück setzt, wenn sie net gespertt wurde...
                              Klick mich


                              Kommentar

                              Lädt...
                              X