Hilfe bei Code

M

Marc3l

Guest
Hallo,
ich soll ein Script basteln, was alle .php Datein aus einem Verzeichnis ( mit Unterordnern) ausliest nach einem bestimmten Wert darin sucht z.B. <?php und dann dort einen belibigen Wert einfügt. Die Datei dann schließt und weitermacht, solange bis keine Daten mehr da sind.

Folgende Schritte hab ich mir dazu überlegt :
1.) Verzeichnis auslesen.
2.) Prüfen ob Ordner oder Datei
3.) Prüfe ob .PHP-Endung dann öffnen, ansonsten ignorieren.
4.) Unter-Ordner öffnen und nach PHP-Endungen suchen.
5.) PHP Datei öffnen
6.) Nach String suchen
7.) String einbauen
8.) PHP Datei speichern.
9.) PHP Datei schließen.
=> Nächste PHP Datei suchen.
=> Wenn keine PHP-Datein mehr vorhanden. Vorgang beenden.

Nun ist die Frage, ob das so okay ist. Verzeichnisse auslesen würde ich mit dem "dir" befehl doch wie gehts weiter? Ich möchte keinen ganzen Quellcode, sondern eine Hilfestellung. Danke
smile.gif
 
Sieht gut aus, aber wie soll man es auch anders machen? *g*

Die Ordner dann einfach rekursiv durchsuchen. Hier findest du Beispiele.
 
Bis auf die Punkte - eine bestimmte Zeichenkette im Inhalt suchen und Daten einfügen / ersetzen - verwende ich selbst solch ein Suchskript als Cron um temporäre Daten vom Server zu werfen.

Ich halte deine Abhandlung für sehr logisch - und auch technisch korrekt.
smile.gif

Mal ein kleiner Anstatzpunkt.
wink.gif


Vielleicht ist es bis jetzt ja brauchbar für dich.

CODE
$dir=opendir(".......");
while ($dirs=readdir($dir)) {
if (($dirs==".") or ($dirs=="..") or ($dir==".htaccess")) continue;
$dirs="./dein_ordner/${dirs}/";
$subdir=opendir($dirs);
while ($entry=readdir($subdir)) {
 if (substr($entry,-4)!='.php') continue;
 $datei="${dirs}${entry}";
 $inhalt=file_get_contents($datei);
 if (strstr($inhalt,'Dein Suchstring')) { // Wobei ich hier Reguläre Ausdrücke verwenden würde
  /*
  Hier müsste jetzt rein....
  Open File width Handler
  replace string
  close File-Handler
  */
  }
 }
closedir($subdir);
}
closedir($dir);

 
Zurück
Oben