N2O: Dateien im Ordner nach Variablen "crawlen"

Hallo allerseits,

ich möchte per PHP eine Liste erzeugen lassen, die einen Ordner ausliest und _nur_ (logischerweise) die PHP-Dateien nach einer Variable "durchforstet". Ich möchte in dieser Liste also nicht die de-facto-Dateinamen aufgelistet haben, sondern die jeweilige Variable (zB $seitenname), die in dem jeweiligen PHP-Dokument enthalten ist.

Vielleicht so anfangen...

<?
$verzeichnis_name="texte";
$dir=opendir($verzeichnis_name);
while($f=readdir($dir))
?>

Und wie dann weiter?

Danke für Eure Hilfe...

Gruß
Lachgas

  1. Hallo allerseits,

    ich möchte per PHP eine Liste erzeugen lassen, die einen Ordner ausliest und _nur_ (logischerweise) die PHP-Dateien nach einer Variable "durchforstet". Ich möchte in dieser Liste also nicht die de-facto-Dateinamen aufgelistet haben, sondern die jeweilige Variable (zB $seitenname), die in dem jeweiligen PHP-Dokument enthalten ist.

    Vielleicht so anfangen...

    <?php

    $verzeichnis_name="texte";
    $dir=opendir($verzeichnis_name);
    while($f=readdir($dir))

    if(substr($f,-4)=='.php')
           {
           $s=strpos(file_get_contents($verzeichnis_name.'/'.$f),'$suchstring=')
           if($s!==FALSE);
              $a[$f]=substr($s,0,strpos(file_get_contents($verzeichnis_name.'/'.$f),"\n"));
           }
      closedir($dir)
      foreach($a as $k=>$v)
         echo $k.' => '.$v."\n";

    ?>

    Und wie dann weiter?

    Danke für Eure Hilfe...

    Gruß
    Lachgas

    Gruß aus Berlin!
    eddi

    --
    at, wie er leibt und lebt auf ein Posting
    > > Nein, ich denke nicht.
    gepromptet
    > Das empfiehlt sich aber.
    :))))
    1. Hello,

      while($f=readdir($dir))

      Schon Scheiße, wenn die erste Datei im Verzeichnis '0' heißt *gg*

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hello,

        while($f=readdir($dir))

        Schon Scheiße, wenn die erste Datei im Verzeichnis '0' heißt *gg*

        buff, auf die Fehlerquelle wäre ich nie gekommen. Danke! Wieder ein stückweit Nebel verschwunden :)

        Gruß aus Berlin!
        eddi

        --
        at, wie er leibt und lebt auf ein Posting
        > > Nein, ich denke nicht.
        gepromptet
        > Das empfiehlt sich aber.
        :))))
        1. Hello,

          while($f=readdir($dir))

          Schon Scheiße, wenn die erste Datei im Verzeichnis '0' heißt *gg*

          buff, auf die Fehlerquelle wäre ich nie gekommen. Danke! Wieder ein stückweit Nebel verschwunden :)

          deshalb lautet die Schleife auch:

          while (false !== ($filename = readdir($dh)))
          {

          }

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
      2. Hallo du da draußen,

        Schon Scheiße, wenn die erste Datei im Verzeichnis '0' heißt *gg*

        AARGH! Warum ist mir sowas nie aufgefallen? Dann würde mein Bildschirm vielleicht sogar noch leben! ;-)

        Grüße von hier drinnen, aus Biberach an der Riss (http://www.stadt-biberach.de/),
        Candid Dauth (Dogfish)

        --
        «Bismarck biss Mark, bis Mark Bismarck biss!»
        http://cdauth.net.tc/
        ie:{ fl:( br: va:} ls:[ fo:| rl:( n4:( ss:) de:> js:( ch:| sh:( mo:) zu:|
    2. Hallo,

      <?php

      $verzeichnis_name="texte";
      $dir=opendir($verzeichnis_name);
      while($f=readdir($dir))
          if(substr($f,-4)=='.php')
             {
             $s=strpos(file_get_contents($verzeichnis_name.'/'.$f),'$suchstring=')
             if($s!==FALSE);

      $a[$f]=substr($s,0,strpos($s,"\n"));

      }
        closedir($dir)
        foreach($a as $k=>$v)
           echo $k.' => '.$v."\n";

      ?>

      Es wird Zeit, daß ich ins Bett gehe!

      Gute Nacht!
      eddi

      --
      at, wie er leibt und lebt auf ein Posting
      > > Nein, ich denke nicht.
      gepromptet
      > Das empfiehlt sich aber.
      :))))
  2. Hello,

    Liste der Dateien besorgen z.B. mit glob() http://de2.php.net/manual/de/function.glob.php

    Eine Datei nach der anderen öffnen und auslesen, z.B. mit
    $inhalt = file_get_contents()   ink:http://de2.php.net/manual/de/function.file-get-contents.php]
    Dann den Inhalt auf die gewünschten Variablen scannen mit preg_match()
      http://de2.php.net/manual/de/function.preg-match.php

    Und das Ergebnis in das mit Glob erzeugte Array aufnehmen.

    Dann das Array ausgeben.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hello,

      Hallo. Danke für deine Beschreibung, aber ich bekomme es irgendwie nicht hin.

      Liste der Dateien besorgen z.B. mit glob()

      http://de2.php.net/manual/de/function.glob.php

      Ich schreibe also einfach:
      <?PHP
      glob("*.php*")

      Eine Datei nach der anderen öffnen und auslesen, z.B. mit
      $inhalt = file_get_contents()   http://de2.php.net/manual/de/function.file-get-contents.php

      So. Da hörts schon auf. Wie kann ich die Dateien nacheinander öffnen und den Inhalt auslesen? Außerdem kommt ja das Problem der Mehrfachbelegung dazu, d.h. dass eine Variable in den ganzen Dokumenten immer vorkommt ($seitenname).

      Dann den Inhalt auf die gewünschten Variablen scannen mit preg_match()
        http://de2.php.net/manual/de/function.preg-match.php

      Wäre nett, wenn du deine Antwort noch ein wenig konkretisieren könntest.

      Gruß
      Lachgas

      1. Hello,

        Hello,

        Hallo. Danke für deine Beschreibung, aber ich bekomme es irgendwie nicht hin.

        Liste der Dateien besorgen z.B. mit glob()
        http://de2.php.net/manual/de/function.glob.php

        Ich schreibe also einfach:

        <?PHP

        $_dirlis = glob("*.php*");

        Eine Datei nach der anderen öffnen und auslesen, z.B. mit

        foreach($_dirlist as $filename)
        {
          $inhalt = file_get_contents($filename) #   http://de2.php.net/manual/de/function.file-get-contents.php

        ## hier dann den inahalt grabben
          while (preg_match.........)
          {
            $_ergebnis[$filename][...] = ...
          }

        }>

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. ## hier dann den inahalt grabben
            while (preg_match.........)
            {
              $_ergebnis[$filename][...] = ...
            }

          Ich versteh des nicht... Sorry, aber ich bin wirklich noch ein Anfänger was PHP angeht....

          1. Hello,

            Ich versteh des nicht... Sorry, aber ich bin wirklich noch ein Anfänger was PHP angeht....

            Dann hat es keine Zweck, wenn ich Dir hier einen "Einlauf" oder den Nürnberger Trichter verpasse. das würde Dich nur abschrecken. Üb einfach ein bisschen, indem Du http://tut.php-q.net durcharbeitest. Und vergiss nicht, mal einfach 'nen Euro als Dankeschön an die Jungs zu überweisen. Das motiviert die bestimmt, das Tut weiter zu verbessern.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Ok, ok, aber ich brauchte ja nur das eine Script.

              Naja trotzdem schönen Dank.