Hallo!
thema zeile aus txt löschen
bevor die meldung kommt "erst suchen...." - hab ich.
in allen beiträgen werden immer nur lösungen vorgestellt zum löschen des inhalt's einer zeile. meine frage ist nun, wie -wenn ich den inhalt einer zeile in meiner txt gelöscht habe - setze ich die folgenden zeilen um jeweils eine zeile hoch?
bildlich gesprochen:
als beispiel habe ich in meiner txt-datei zeile 3 gelöscht. dann sieht meine txt so aus:
1. text
2. text
3.
4. text
5. text
usw..
mein problem ist also, wie mache ich aus zeile 4 jetzt zeile 3 u.s.w...
folgendes script habe ich dank diesen forums als vorlage:
<body>
<form name="liste">
bitte die Zeilennummer hier eingeben.<input type="Text" name="zeile[]" class="kurs"> <input type="Submit" value="Datensatz löschen" class="text">
</form>
</body>
thema zeile aus txt löschen
bevor die meldung kommt "erst suchen...." - hab ich.
in allen beiträgen werden immer nur lösungen vorgestellt zum löschen des inhalt's einer zeile. meine frage ist nun, wie -wenn ich den inhalt einer zeile in meiner txt gelöscht habe - setze ich die folgenden zeilen um jeweils eine zeile hoch?
bildlich gesprochen:
als beispiel habe ich in meiner txt-datei zeile 3 gelöscht. dann sieht meine txt so aus:
1. text
2. text
3.
4. text
5. text
usw..
mein problem ist also, wie mache ich aus zeile 4 jetzt zeile 3 u.s.w...
folgendes script habe ich dank diesen forums als vorlage:
PHP-Code:
<?php
foreach ($zeile as $index => $nr)
{
echo "Zeile Nr. $nr wurde gelöscht<br>";
}
//-->Einstellungen
$db = "../texte/glossar.txt";
$inhalt = file($db);
$anzahl = count($inhalt);
//Die Zeile die geändert werden soll
//--> Daten die erstetzt werden sollen
#rsort($inhalt);
$eintrag = ksort($inhalt);
$replace = $eintrag;
//------------------------------------
//-->Neuen Daten
$rep_neu = "$replace";
//-->Herauslesen der Daten
for ($x=0;$x<$anzahl;$x++)
{
$rep_old = "$inhalt[$nr]";
$inhalt[$nr] = str_replace("$rep_old","$rep_neu",$inhalt[$nr]."\n");
echo "<b>Zeile $x </b><br>".$inhalt[$x]."<br>";//Für die Überprüfung
echo "<br>";
}
//-->Teil neu in die Txt schreiben
$fp = fopen($db,"w");
for($i = 0;$i<$anzahl;$i++)
{
$schreibe[$i] = trim($inhalt[$i]);
fwrite($fp,$schreibe[$i]."\n",1024);
}
fclose($fp);
//--> Daten die angezeigt werden:
echo"<br><br>";
echo "Zeilen: $anzahl<br><br>";
?>
<form name="liste">
bitte die Zeilennummer hier eingeben.<input type="Text" name="zeile[]" class="kurs"> <input type="Submit" value="Datensatz löschen" class="text">
</form>
</body>
Kommentar