Hallo.
In diesem Beitrag habe ich folgende Aufgabenstellung zu lösen.
In einer Datei stehen zeilenweise Verben.
Diese Verben (Suchnamen) sollen in Dateien eines Ordners gesucht werden.
Wenn fündig geworden, in neue Datei nach folgendem Schema schreiben:
Dateiname der Datei, die Suchname enthält#Suchname1, Suchmame2, Suchname3 usw.
Beispiel: gehen#geht,gehen,ging
Wenn nicht fündig geworden, Suchnamen in andere Datei schreiben.
Hintergrund:
Ich möchte die Verben portugiesischer Texte mit den entsprechenden Übersetzungstabellen verlinken. Diese stehen in einem eigenen Ordner als eigenständige Datei und sollen später per include eingebunden werden.
Jetzt möchte ich erst einmal festhalten, welche Verben zu welchen Tabellen gehören und dieses zur weiteren Verarbeitung abspeichern.
Ablaufplan:
Zeilenweises Einlesen der Datei Suchnamen.txt mit file
Festlegen des TabellenOrdners
Handler erstellen mit opendir
Mit while und readdir die Dateien der Reihe nach durcharbeiten.
Feststellen, ob Suchname in der Datei vorhanden ist.
Dateinamen der Datei, die den Suchnamen enthält mit dem Suchnamen in neue Datei nach obrigem Schema schreiben.
Wenn nicht gefunden, in andere Datei Suchnamen schreiben.
Lösungsversuch:
Zu dem hier erstellten Code habe ich verschiedene Fragen.
1. Wieso bekomme ich mit dem letzten echo nicht die erste Zeile der ersten Datei im Tabellenordner angezeigt, wie ich es erwartet hatte, sondern gar nichts?
Danach wollte ich nähmlich die Zeile auf Suchnamen prüfen, was mich zur zweiten Frage führt.
2. Wie prüfe ich in PHP, ob in einem Array ein Begriff vorhanden ist? Oder grundsätzlicher, wie überprüfe ich, ob in einer Datei ein Begriff vorhanden ist?
Wenn es günstigere Lösungsansätze gibt, bin ich für Hinweise dankbar.
Gruß
Estrela
In diesem Beitrag habe ich folgende Aufgabenstellung zu lösen.
In einer Datei stehen zeilenweise Verben.
Diese Verben (Suchnamen) sollen in Dateien eines Ordners gesucht werden.
Wenn fündig geworden, in neue Datei nach folgendem Schema schreiben:
Dateiname der Datei, die Suchname enthält#Suchname1, Suchmame2, Suchname3 usw.
Beispiel: gehen#geht,gehen,ging
Wenn nicht fündig geworden, Suchnamen in andere Datei schreiben.
Hintergrund:
Ich möchte die Verben portugiesischer Texte mit den entsprechenden Übersetzungstabellen verlinken. Diese stehen in einem eigenen Ordner als eigenständige Datei und sollen später per include eingebunden werden.
Jetzt möchte ich erst einmal festhalten, welche Verben zu welchen Tabellen gehören und dieses zur weiteren Verarbeitung abspeichern.
Ablaufplan:
Zeilenweises Einlesen der Datei Suchnamen.txt mit file
Festlegen des TabellenOrdners
Handler erstellen mit opendir
Mit while und readdir die Dateien der Reihe nach durcharbeiten.
Feststellen, ob Suchname in der Datei vorhanden ist.
Dateinamen der Datei, die den Suchnamen enthält mit dem Suchnamen in neue Datei nach obrigem Schema schreiben.
Wenn nicht gefunden, in andere Datei Suchnamen schreiben.
Lösungsversuch:
PHP-Code:
<?php
$SuchNam = 'Suchnamen.txt';
$TzO = 'TabzuOrdnung.txt';
$KTzO = 'KeineTabzuOrdnung.txt';
$SN = file ($SuchNam);
$dir = 'tabs/';
$dh = opendir($dir);
foreach ($SN as $nr => $zeile) { //echo ($SN).($nr).($zeile).'<br>';
while ($file = readdir ($dh)){
//print_r($file);
if (is_file($file)){
//Anweisungen
$lines = file ($file);
foreach ($lines as $value => $Lzeile) {
echo ("$Lzeile");
}
}
}
}
closedir($dh);
?>
1. Wieso bekomme ich mit dem letzten echo nicht die erste Zeile der ersten Datei im Tabellenordner angezeigt, wie ich es erwartet hatte, sondern gar nichts?
Danach wollte ich nähmlich die Zeile auf Suchnamen prüfen, was mich zur zweiten Frage führt.
2. Wie prüfe ich in PHP, ob in einem Array ein Begriff vorhanden ist? Oder grundsätzlicher, wie überprüfe ich, ob in einer Datei ein Begriff vorhanden ist?
Wenn es günstigere Lösungsansätze gibt, bin ich für Hinweise dankbar.
Gruß
Estrela
Kommentar