Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] txt File temporär auf Client-PC speichern

Einklappen

Neue Werbung 2019

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

  • [Erledigt] txt File temporär auf Client-PC speichern

    Servus,
    ich hatte in der javascript Rubrik bereits ein Thread zu meinem Thema im Bezug auf DataTables. Da dieses sich fast - bis auf eine php bezogene Frage erledigt hat - stelle ich diese in der richtigen Rubrik.

    Ich erzeuge eine .txt Datei, die ich nachher in meine Tabelle als store lade (Ist vom Plugin für schnellste Verarbeitung vorgegeben).
    Es handelt sich um eine txt-Datei, die in der index.php des eingeloggten Bereichs für einen User automatisch erzeugt wird. Diese Datei wird auch nur in dieser index.php verwendet.

    Wo speichere ich nun die txt Datei? Auf dem Server wollte ich das nicht machen, denn da hat ja nun auch jeder andere User Zugriff über den Browser drauf, indem er den Quellcode anguckt und den ajax Pfad in die URL eingibt.

    Ich dachte an eine tmp Datei auf dem Client pc. Wie kann ich das nun anstellen, dass die tmp-txt-Datei solange erhalten bleibt, wie der Nutzer die index.php Datei offen hat? Und zwar nur genau solange.
    Denn bei jedem Aufruf der index.php wird die txt-Datei neu erzeugt (Dauer: unter einer Sekunde, also nichts dramatisches), da sich die Inhalte ändern.

    Greetz,
    Sakron
    No Sacrifice , no Glory--


  • #2
    Bleib in dem anderen Thread. Dein Gedankenmodell hat sich falsch entwickelt. Dieser Ansatz hier ist mit hoher Wahrscheinlichkeit falsch (vorausgesetzt da steckt nicht noch ein Gedanke drin, den du bislang für dich behalten hast).
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      wie meinst du das? Verstehe ich nicht.
      Im anderen Thread gibt es aber keine Fragen mehr zum js Teil sondern zum php Teil. Habe den anderen geschlossen und das hierhin verlagert.
      No Sacrifice , no Glory--

      Kommentar


      • #4
        Wie kommst du auf den Gedanken mit der .txt-Datei? Wo steht das in der Dokumentation von dem jquery-datatables-plugin?
        Standards - Best Practices - AwesomePHP - Guideline für WebApps

        Kommentar


        • #5
          http://datatables.net/examples/ajax/simple.html

          hatte ich im anderen Thread auch schon gepostet.
          (Übrigens wird das mit ajax nachgeladen, aber das hat sich ja wie gesagt schon erledigt).

          Edit:
          Vielleicht zur Ergänzung, ich hab das auch mit der direkt serverseitigen Bereitstellung der Daten für den ajax Request über eine php Datei getestet, war performance-technisch wesentlich langsamer bei großen Datenmengen.
          Deshalb der Weg mit der .txt Datei.
          No Sacrifice , no Glory--

          Kommentar


          • #6
            kennste sicher:
            http://www.html5rocks.com/de/tutorials/file/dndfiles/

            Kommentar


            • #7
              Ich kenne nicht viel von deiner angestrebten Applikation. Daher kann ich dir auch erst mal nur mit Allgemeinplätzen dienen.

              Über "Caching" solltest du dir erst hinterher Gedanken machen. Es lässt sich leicht dazwischen setzen und kann evtl. auch ganz anders gelöst werden (Stichwort: varnish).

              Du schreibst "große Datenmengen". Grids haben einen Pager. So kannst du Umfang der darzustellenden Daten begrenzen und immer nur einen Ausschnitt deiner Daten aus einer Datenbank nachladen. Warum sind es denn "große Datenmengen"?
              Standards - Best Practices - AwesomePHP - Guideline für WebApps

              Kommentar


              • #8
                Bei einer Tabelle die ich selbst mache verstehe ich deinen Einwand mit dem Nachladen pro Page.
                Da die DataTable aber trotz nur einer geladenen Seite eine Sortierung auf alle Einträge in der Datei im Hintergrund durchführt kann ich das nicht steuern was beim Laden einer neuen Page passiert. Das passiert alles automatisch, kein Caching.

                Wie sieht es mit der Anfangsfrage aus, ob man eine Datei temporär lokal beim User speichern kann solange die index.php Datei offen ist ?..
                Moma danke für den Link, ist nicht ganz das was ich suche.^^
                No Sacrifice , no Glory--

                Kommentar


                • #9
                  Zitat von Sakron Beitrag anzeigen
                  Wie sieht es mit der Anfangsfrage aus, ob man eine Datei temporär lokal beim User speichern kann solange die index.php Datei offen ist ?..
                  Moma danke für den Link, ist nicht ganz das was ich suche.^^
                  sorry, bei der siuche der übersetzung ist was schief gelaufen, wobei es ja eigentlich egal ist, wie die datei angelegt wird.
                  allerdings weiss ich nicht um die browserunterstüzung.

                  http://www.html5rocks.com/en/tutorials/file/filesystem/

                  Kommentar


                  • #10
                    Du musst ja nicht konkret werden, wenn du es nicht willst. Mich würde nur mal interessieren was das fir daten sind. Sind es Daten, die in Spalten und Zeilen vorliegen? Wieviel Spalten, wieviele Zeilen? Aus welcher Art Datenquelle kommen diese Daten? Wie sortierst du die Daten?
                    Standards - Best Practices - AwesomePHP - Guideline für WebApps

                    Kommentar


                    • #11
                      Danke moma. Habe es nun denke ich gelöst:

                      PHP-Code:
                       $file "data/choices-" $user $userObject->getCode() . ".txt";
                      file_put_contents($file$content); 
                      Das ist ein eindeutiger Filename, den ich dann immer abfragen kann.
                      Ist zwar kein tmp File mehr, aber ich kann mit dem plugin sowieso nicht auf tmp files zugreifen nur auf txt.
                      Muss ich dann eben über den Code löschen das file.

                      @rkr:
                      Daten kommen aus verschiedenen MySql Tabellen, die alle zusammen in einer Tabelle ausgegeben werden sollen.
                      Aktuell sind es 5000 Datensätze, sprich 5000 tr's. Sortiert werden die Daten durch das dataTable plugin.
                      Bevor ich das genutzt habe hatte ich ein array_multisort, das fällt nun aber komplett weg da die Daten in der txt Datei vorliegen.

                      Kann ich per htaccess den direktem Aufruf eines bestimmten Ordners über die Url unterbinden aber gleichzeitig noch eine Datei aus dem Ordner als ajax Quelle benutzen?

                      Greetz.
                      No Sacrifice , no Glory--

                      Kommentar


                      • #12
                        Wusstest du, dass du in MySQL JOIN und ORDER BY hast?
                        Standards - Best Practices - AwesomePHP - Guideline für WebApps

                        Kommentar


                        • #13
                          Siehe meine Antwort im DataTable Datum Thread. Dein Ansatz ist sowas von sinnfrei, schlimmer geht es kaum.

                          Gruß

                          Claus
                          Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

                          Kommentar


                          • #14
                            kennst du das genannte Plugin überhaupt?^^
                            Ich greife die Daten aus der db aus 13 Tabellen ab, wo ne Menge Joins zum Einsatz kommen..
                            Das Plugin sortiert das selber, wenn du davor was mit Order By machst kickt es dir die Sortierung eh wieder raus und macht seine eigene.
                            Ein sehr mächtiges Plugin, da es Sortieren, Filtern und Suchen für einen übernimmt mit hoher Performance-
                            No Sacrifice , no Glory--

                            Kommentar


                            • #15
                              Also ich verdiene mein Geld mit sowas und mache das schon eine ganze Zeit lang. Also ja...
                              Standards - Best Practices - AwesomePHP - Guideline für WebApps

                              Kommentar

                              Lädt...
                              X