In Datei Datensatz mit speziellen Anfang nehmen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auslese
befehl
bleibe
break
code
datum
einzelne zeile
element
file
gefundenen zeile
gesamte datei
login
nachschlagen
parameter
problemlos austauschen
punkt
schleife
sicherheit
textfeld
zeile
-
Wie einige hier sicher schon mitbekommen habe schreibe ich nen Skript um. Meine Dummheit ist schließlich auch kaum zu übersehen. Aber ich habe kaum Ahnung von Dateibearbeitung per PHP, bin der Datenbanktyp.
Wenn ich schon umschreibe dachte ich mir dass ich gleich von MySQL auf Textfiles umsteige. Schließlich ist es teilweiße schon die Hölle den MySQL-Limaserver zu verwenden.
Jetzt habe ich mich gefragt ob es Befehle gibt mit denen man ganz easy Daten aus dem Textfeld auslesen oder editieren kann. Ich dachte mir dass ich so speichern könnte:
ID|Name|Passwort|Mail.
Jetzt im Fall vom Login, aber dort bleibe ich doch lieber bei MySQL.
Wenn ich jetzt z. B. etwas von der ID 5 bräucht wüsste ich nur dass ich es so machen könnte:
<?php
$fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
{
if($getline[0] == $id)
{
break;
}
}
?>
und mein mehrstelligen IDs so:
<?php
$len = strlen($id);
$fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
{
for($i=0;$i<=$len;$i++)
{
$dummy = $dummy.\"\".$getline[$i];
}
if($dummy == $id)
{
break;
}
}
?>
Ist vermutlich unsauber geschrieben und mit großer Sicherheit hat sich min. 1 Fehler eingeschlichen, kenne mich ja und habe es natürlich jetzt nicht getestet.
Aber gibt es eine Möglichkeit dass ganze einfacher zu machen, ohne das komplette Textfile bis zum Punkt x durchrennen zu lassen? Und am besten noch ob man eine einzelne Zeile problemlos austauschen kann. Mit so einer while kann man ja einfach die Zeilennummer zählen lassen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php
$fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
{
if($getline[0] == $id)
{
break;
}
}
?>
Daten auslesen:
<? $fhandle = fopen (\"/tmp/inputfile.txt\", \"r\"); while (!feof($fhandle)) { // Zeile lesen oder bis 4096 Zeichen erreicht falls kein Zeilenende kommt $line = fgets($fhandle, 4096); // gibt alle Elemente der Zeile getrennt im Array zurück $elements = explode($line, \'|\'); if ($elements[0] == $id) { // tue irgendwas mit der gefundenen Zeile... // und verlasse Schleife/Datei break; } } fclose ($fhandle); ?>
Beim Daten schreiben gibts nichts richtiges - mußt halt entweder mit dem Dateizeiger an der richtigen Position stehen oder die gesamte Datei neu schreiben.
Da das meist viel overhead ist hat man ja die Datenbanken erfunden
Achja reguläre Ausdrücke wären evtl. noch eine Möglichkeit, damit du nicht immer alles durchlaufen mußt. Dann muß man allerdings wissen was da drin steht und dass auch nichts doppelt drin steht.
Grüßle
Beitrag geändert: 2.4.2008 16:01:56 von scout -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage