Michy: Datei öffnen

Hallo zusammen

Gibt es einen Befehl in PHP, mit dem man alle Dateien in einem bestimmten Ordner öffnen kann, wenn die Namen der Dateien selber aber nicht bekannt sind?

Danke schon im voraus
und einen schönen Gruss
Michy

  1. Hallo Michy,

    Gibt es einen Befehl in PHP, mit dem man alle Dateien in einem bestimmten Ordner öffnen kann, wenn die Namen der Dateien selber aber nicht bekannt sind?

    nein, aber mit opendir(), readdir() und fopen() kannst du dir sowas selber basteln (siehe http://www.php.net/ref.dir und http://www.php.net/fopen) - aber für was brauchst du das überhaupt?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo
      Danke für deine Antwort
      »»aber für was brauchst du das überhaupt?
      Nun im Thema [pref:t=51465&m=282665]
      Suchte ich Lösungswege.
      Ich schreibe Dateien mit der IP-Adresse als Titel.
      Nun soll es Dateien, löschen, die älter als 1h sind.
      Dafür muss ich auf alle Dateien zugreiffen können und deren Zeit des letzten Zugriffs auslesen.
      Den Rest kannst du dir denken:
      Ich möchte dann diese Dateien, löschen, die älter als eine Stunde sind.

      War das so genau, dass es schon wieder undeutlich ist? :-)

      Gruss aus Winterthur ->liegt in der Schweiz :-)

      Gruss Michy

      1. Hallo Michy,

        »»aber für was brauchst du das überhaupt?

        wenn du das leerzeichen zwischen Zitatzeichen und dem Text von mir drinlässt, wird das ganze auch als Zitat gekennzeichnet.

        Ich schreibe Dateien mit der IP-Adresse als Titel.

        IP = Dateiname, oder?

        Nun soll es Dateien, löschen, die älter als 1h sind.
        Dafür muss ich auf alle Dateien zugreiffen können und deren Zeit des letzten Zugriffs auslesen.

        wie steht in der Datei die Zeit/das Datum?

        Den Rest kannst du dir denken:
        Ich möchte dann diese Dateien, löschen, die älter als eine Stunde sind.

        wo liegt das Problem:

        opendir(...)
        while((file = readdir ($handle)){
         fopen(...)
         fread(...)
         fclose(...)
         if($datum<now()-1h) unlink(...)
        }
        closedir(...)

        oder so ähnlich zumindest :-) Ich halte es aber für keine gute Idee (bei vielen Dateien dauert es u.U. recht lange, bis er da durch ist) - wenn du schon unbedingt die IP-Adressen zum "erkennen" verwenden musst, dann würde ich die eher in einer Datei speichern.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo

          wenn du das leerzeichen zwischen Zitatzeichen und dem Text von mir drinlässt, wird das ganze auch als Zitat gekennzeichnet.

          Hatte Stress beim schreiben, darum ist das vergessengegangen.

          Ich schreibe Dateien mit der IP-Adresse als Titel.
          IP = Dateiname, oder?

          Genau

          Nun soll es Dateien, löschen, die älter als 1h sind.
          Dafür muss ich auf alle Dateien zugreiffen können und deren Zeit des letzten Zugriffs auslesen.
          wie steht in der Datei die Zeit/das Datum?

          Das îst egal.
          Wie das geht ist mir klar. ;-)

          Den Rest kannst du dir denken:
          Ich möchte dann diese Dateien, löschen, die älter als eine Stunde sind.
          wo liegt das Problem:

          opendir(...)
          while((file = readdir ($handle)){
           fopen(...)
           fread(...)
           fclose(...)
           if($datum<now()-1h) unlink(...)
          }
          closedir(...)

          oder so ähnlich zumindest :-) Ich halte es aber für keine gute Idee (bei vielen Dateien dauert es u.U. recht lange, bis er da durch ist) - wenn du schon unbedingt die IP-Adressen zum "erkennen" verwenden musst, dann würde ich die eher in einer Datei speichern.

          Was heisst viel?
          Ich habe momentan eh wenig zugriffe.

          Ich versuchs mal mit einer Datei.
          Was passiert, wenn ich Zeilen aus einer Datei lösche?
          Wird der Rest nachgeschoben?
          Und wie kann ich eine Datei öffnen, ohne dass ihr Inhalt gelöscht wird, und ich dennoch schreiben kann? Mit fopen("w") wird doch alles gelöscht in der Datei?

          Gruss Michy

          1. Hallo Michy,

            Was heisst viel?
            Ich habe momentan eh wenig zugriffe.

            dein Ahnung, aber weißt du ob das immer wenig Zugriffe bleiben werden?

            Ich versuchs mal mit einer Datei.
            Was passiert, wenn ich Zeilen aus einer Datei lösche?
            Wird der Rest nachgeschoben?

            nein, du musst die Datei komplett neuschreiben. (evtl. vorher mit rewind() auf den anfang der Datei zurückspringen)

            Und wie kann ich eine Datei öffnen, ohne dass ihr Inhalt gelöscht wird, und ich dennoch schreiben kann? Mit fopen("w") wird doch alles gelöscht in der Datei?

            RTFM: http://www.php.net/fopen

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. Hallo Michy,

              Hallo auch und danke für die persönliche anrede.

              dein Ahnung, aber weißt du ob das immer wenig Zugriffe bleiben werden?

              Ich hoffe natürlich, dass es viel sind. :-)
              Ist ja klar, aber momentan habe ich 7 - 10 Zugriffe am Tag.
              Und das immer von den gleichen Personen.

              nein, du musst die Datei komplett neuschreiben. (evtl. vorher mit rewind() auf den anfang der Datei zurückspringen)

              Mal schauen, wie ich das anstellen kann...

              Und wie kann ich eine Datei öffnen, ohne dass ihr Inhalt gelöscht wird, und ich dennoch schreiben kann? Mit fopen("w") wird doch alles gelöscht in der Datei?
              RTFM: http://www.php.net/fopen

              Danke

              Grüße aus Nürnberg
              Tobias

              Danke
              Grüsse aus Winterthur :-) (!!liegt in der Schweiz!!)
              Michy

              1. Hallo Michy,

                Hallo Michy,
                Hallo auch und danke für die persönliche anrede.

                <flüster>das macht "Hallo {$name},\n\n" als Standard-Anrede :-)</flüster>

                Ist ja klar, aber momentan habe ich 7 - 10 Zugriffe am Tag.
                Und das immer von den gleichen Personen.

                naja, dann könnte es ja grade noch gehen :-) - wenn du das allerdings hier im Forum machen wolltest - dann würde der Server aber ganz schön in die Knie gehen...

                Grüsse aus Winterthur :-) (!!liegt in der Schweiz!!)

                ich weiß ->[pref:t=51573&m=283462] :-)

                Grüße aus Nürnberg  <- liegt nicht in der Schweiz :-)
                Tobias

                --
                Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                1. Hy

                  Hallo Michy,
                  Hallo auch und danke für die persönliche anrede.
                  <flüster>das macht "Hallo {$name},\n\n" als Standard-Anrede :-)</flüster>

                  Sorry, aber dass ist völlig unkorrekt.
                  wenschon:

                  <?php
                  echo"Hallo $name,\n\n";
                  ?>
                  :-)))

                  Ist ja klar, aber momentan habe ich 7 - 10 Zugriffe am Tag.
                  Und das immer von den gleichen Personen.
                  naja, dann könnte es ja grade noch gehen :-) - wenn du das allerdings hier im Forum machen wolltest - dann würde der Server aber ganz schön in die Knie gehen...

                  Ich versuchs mal nur mit einer Datei.

                  Grüsse aus Winterthur :-) (!!liegt in der Schweiz!!)
                  ich weiß ->[pref:t=51573&m=283462] :-)

                  Gebildet der Junge.
                  Einbildung ist auch eine Bildung ;-) (Scherz am Rande. Wollte nur wieder mal meine Vilosofie walten lassen)

                  Grüße aus Nürnberg  <- liegt nicht in der Schweiz :-)
                  Tobias

                  Tschüss Michy

                  PS: Bin ich nicht ein richtiger Scherzkecks?

                  1. Hallo Michy,

                    <flüster>das macht "Hallo {$name},\n\n" als Standard-Anrede :-)</flüster>
                    <?php
                    echo"Hallo $name,\n\n";
                    ?>

                    nein, das habe ich schon so gemeint, wie ich es geschrieben habe - wenn du unter http://forum.de.selfhtml.org/cgi-bin/user/fo_userconf?a=edit (sofern du dich vorher unter http://forum.de.selfhtml.org/cgi-bin/fo_userconf angemeldet hast) das was ich geschrieben habe in das Feld für "Standard-Grußformel" schreibst, steht am Anfang jedes Antwortfeldes eben "Hallo" gefolgt von dem Namen des Posters, auf dessen Posting man antwortet, sowie einem Komma und zwei Zeilenumbrüchen. (den Trick mit dem {$name} habe ich mal irgendwo in der Dokumentation zu dem Forum (->http://cforum.teamone.de/doku/) entdeckt :-)

                    [...] Wollte nur wieder mal meine Vilosofie [...]

                    meinst du Philosophie? :-)

                    PS: Bin ich nicht ein richtiger Scherzkecks?

                    :-)

                    Grüße aus Nürnberg
                    Tobias

                    --
                    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                    1. Hallo Michy,

                      <flüster>das macht "Hallo {$name},\n\n" als Standard-Anrede :-)</flüster>
                      <?php
                      echo"Hallo $name,\n\n";
                      ?>
                      nein, das habe ich schon so gemeint, wie ich es geschrieben habe - wenn du unter http://forum.de.selfhtml.org/cgi-bin/user/fo_userconf?a=edit (sofern du dich vorher unter http://forum.de.selfhtml.org/cgi-bin/fo_userconf angemeldet hast) das was ich geschrieben habe in das Feld für "Standard-Grußformel" schreibst, steht am Anfang jedes Antwortfeldes eben "Hallo" gefolgt von dem Namen des Posters, auf dessen Posting man antwortet, sowie einem Komma und zwei Zeilenumbrüchen. (den Trick mit dem {$name} habe ich mal irgendwo in der Dokumentation zu dem Forum (->http://cforum.teamone.de/doku/) entdeckt :-)

                      Danke für den Hinweis

                      [...] Wollte nur wieder mal meine Vilosofie [...]
                      meinst du Philosophie? :-)

                      Das sollte ein Scherz sein.

                      PS: Bin ich nicht ein richtiger Scherzkecks?
                      :-)

                      Grüße aus Nürnberg
                      Tobias

                      Grüsse aus Winterthur
                      Michy