Inhalt aus TXT datei suchen

Hi Jungs,

es ist möglich dass das thema bereits ebhandelt wurde, aber ich habe ein ganz spezeielles anliegen und brauche ein paar ansätze.


Ich möchte in ein bestehendes Warenvorschau system (basierend auf PHP + txt + jpg)
eine suchfunktion einbauen, die NUR die erste zeile eines .txt-Files nach den gesuchten begriffen durchforstet.

die txt dateien haben namen von 100.txt bis 999.txt

Ich möchte jetzt zum beispiel nach dem wert: "Rinascimento" suchen und alle dateien als links angeben, deren erste zeile diesen begriff enthält...

über lösungsvorschläge oder funktionsvorschläge würde ich mich sehr freuen :D

LG FSK
 
Vergiss das mit der Text datei und verwende eine Datenbank damit geht so ganz einfach und schnell.

Mfg Splasch
 
kann ich die dateien in irgendeiner form mit nem scipt in die datenbank schreiben?

Zeile 1 = suchwörter
Zeile2 = Überschrift
ab Zeile 3 = beschreibung

also ohne groß rumgemache....

LG FSK
 
Selbstverständlich.

[phpf]file[/phpf] liest dir eine Datei zeilenweise in ein Array ein.

Von daher könntest du soetwas konstruieren wie:
  • Dateien aus Ordner einlesen ([phpf]glob[/phpf])
  • Durch das Ergebnis-Array iterieren und die jeweilige Datei einlesen ([phpf]file[/phpf])
  • Die jeweiligen Zeilen in die Datenbank speichern
 
@felix: danke schonmal für den ansatz.

aber ich merke gerade,dass ich aus dem ansatz auch nicht schlau werde... wie schreibe ich zeile für zeile in eine datenbank?
 
Z. B. so:

PHP:
<?php
$file = 'foobar.txt';
$content = file($file);

foreach($content as $value)
{
  mysql_query("INSERT INTO `table` (`row`) VALUES ('".$value."')");
}
?>

Die Verbindungsfunktionen hab ich einfach mal weggelassen.
 
In dem Fall wäre es vielleicht sinnvoll mit der [phpf]for[/phpf] Schleife zu arbeiten, statt mit [phpf]foreach[/phpf].

PHP:
<?php
$file = 'foobar.txt';
$content = file($file);
$content beinhaltet jetzt alle Zeilen der Datei, in einem numerischen Array, sprich $content[0] entspricht Zeile 1.

PHP:
$$lineCount = count($content); // Wir bestimmen wieviele Zeilen die Datei hat
for($i = 0; $i < $lineCount; $i++)
{
  $sql = "insert into `table` (`spalte`, `spalte2`, `spalte3`)
              VALUES('".$content[$i]."', '".$content[++$i]."', '".$content[++$i]."')";
  echo $sql.'<br>';
}
?>
So könnte das aussehen.
 
danke erstmal!

wie ist das eigentlich:

wenn ich die zeilen 3 bis unendlich in eine spalte schreibe könnte ich dann die einzelnen zeilen aus der spalte auslesen? sodass ich wie bei file() einfach die zeilen mit einem numerischen Array auslesen kann?
 
Zurück