Danke, da schaue ich mal nach.
Problem mit Zeile ändern in .txt
Einklappen
X
-
Ich bin leider nicht so erfolgreich gewesen:
Alle Zeilen heißen plötzlich so, wie die neue Zeile,
die eingefügt werden soll:
PHP-Code://Neue Zeile
$new_row = "$id|$data1|$data2|$data3|$data4#newline \n";
$oldfile = $file;
// Shared lock auf die Quelldatei
$old = fopen($oldfile, "r");
flock($old, 1) or die("Kann die Quelldatei $oldfile nicht locken.");
// Exclusive lock auf die Zieldatei
$new = fopen($oldfile.".new", "w");
flock($new, 2) or die("Kann die Zieldatei $newfile nicht locken.");
while(!feof($old))
{
$lines = explode("#newline \n", fgets($old, 1024));
foreach($lines as $line)
{
$arr = explode("|", $line);
if($arr[0] == $_POST["id"])
continue; // Zeile auslassen
fputs($new,$new_row);
}
}
fclose($old); // Gibt das Lock automatisch auf
// Alte Datei wegwerfen.
unlink($oldfile);
// Neue Datei umbenennen.
// (In Windows müssen das rename() und das fclose($new)
// vertauscht werden, da es nicht möglich ist, in Windows
// eine offene Datei umzubenennen.
rename($oldfile.".new", $oldfile);
// Neue Datei schließen und dabei Lock aufgeben.
fclose($new);
echo "Der Eintrag mit der ID ".$_POST["id"]." ist erfolgreich geändert
worden :)
<br><br><input type=\"button\" onClick=\"window.location.href='?validCode=$validCode'\"
value=\"zurück\">";
Zuletzt geändert von kerbstone; 02.05.2007, 19:56.
Kommentar
-
Original geschrieben von kerbstone
Schade, dass dieses Forum nun auch nur noch kommerzorientiert ist, echt schadeI don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
Von denen die hier posten verdient daran wohl keiner was ...Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]
Kommentar
-
Gut, dann setze ich jetzt mal anders an und
versuche meinen Verstand zu benutzen:
Ich habe ja die Möglichkeit eine Textdatei
komplett mittles read() auszulesen.
Angenommen ich bekomme eine ID
über $HTTP_GET_VARS kann ich dann
mittels javascript oder ähnlichem sagen,
scrolle zu zeile x wo x gleich x ist?
Vom Prinzip her soll es wie ein Anker sein
wie in HTML <a name="x">x</a>.
Kommentar
-
$HTTP_GET_VARSmittels javascript oder ähnlichem sagen,
scrolle zu zeile x wo x gleich x ist?Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]
Kommentar
-
Vom Prinzip her soll es wie ein Anker sein wie in HTML <a name="x">x</a>.
was soll er jetzt machen - ein ganzes dokument zurückgeben? oder nur einen teil? oder alles schön mit html verpacken? (dann ließe sich mit js irgendwohin vorscrollen).
Kommentar
-
Das Error Reporting voll aufgedreht ? Kennst du file() --> liest eine Datei komplett Zeile für Zeile ein und gibt ein Array zurück, wo jedes Element einer Zeile der Datei entspricht. Dieses Array mittels foreach durchlaufen. Wieso überhaupt exploden ? Du willst ja jene Zeile ersetzen, die der übergebenen id entspricht. Also ich würde da bei jeder Zeile einfach die ersten Zeichen (Zahlen) anschauen und mit deine ID vergleichen.
Und was du mit dem willst erklär mir bitte mal
PHP-Code:if($arr[0] == $_POST["id"]) continue;
fputs($new,$new_row);
Gruss
tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
Kommentar