Eintrag aus File löschen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfrage
array
code
datei
ding
einsetzen
eintrag
element
entsprechenden inhalt
erstes ergebnis
falsch datei
frage
held
rolle
sagen
string
textdatei
url
zeile
zweite eintrag
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
testworld schrieb:
Huhu ich möchte gerne Array[1] löschen das geht doch so:
$datei = fopen ("anfrage.txt","r");
$zeile = fgets($datei,500);
$data = explode("|", $zeile);
unset($data[1]);
fclose($datei);
oder?
Auf jedenfall löscht er nicht den array[1](data[1]) kan mir wer sagen wieso?
Du löschst damit den Eintrag mit der ID 1 des Arrays, den Array löschst du mit:
unset($data);
Edit: In diesem Fall ist es wirklich der zweite Eintrag (explode).
Beitrag zuletzt geändert: 5.11.2009 20:04:50 von deutscher -
unset($data[1]);
löscht nicht das zweite element sonder das element mit der ID 1
um ein element über den index zu löschen verwende
array_splice($array, x, y);
edit: das ganze habe ich mit google und der frage "php array eintrag löschen" als erstes ergebnis erhalten
Beitrag zuletzt geändert: 5.11.2009 20:02:43 von syberpsace -
Ich will ja auch nur den 2 eintrag löschen sry hab mich falsch ausgedrückt... doch das klappt irgendwie nicht?o.o weiß wer warum?
EDIT: array_splice($array, x, y); <<was kommt da anstelle vom x und y sry das ich so dumm frage ich habe aber keine ahnung <.<
Beitrag zuletzt geändert: 5.11.2009 20:06:10 von testworld -
Ich weiß nicht was dein Problem ist, eigentlich funktioniert das unset($data[1]).
<?php $test = array(); $test[] = "Erster Eintrag"; $test[] = "Zweiter Eintrag"; unset($test[1]); echo $test[1]; // gibt nichts aus, weil $test[1] nicht mehr existiert.
Beitrag zuletzt geändert: 5.11.2009 20:10:12 von deutscher -
Ich denke auch das da so eigentlich gehen muss doch bei mir gehts nicht :_: hier nochmal die Textdatei:
LadyLiya|14|<a href=http://welt14.freewar.de/freewar/internal/fight.php?action=watchuser&act_user_id=1>LadyLiya</a>|ds|
Und da will ich ganz gerne die 14 löschen doch es klappt nicht mit unset($data[1]);
Oder ist vileicht auch hier was falsch?:
$datei = fopen ("anfrage.txt","r");
$zeile = fgets($datei,500);
$data = explode("|", $zeile);
unset($data[1]);
fclose($datei);
-
versuch mal mit
var_dump($data);
das array auszugeben, um zu sehen ob überhaupt die richtigen werte drinnen sind. -
Das kommt dabei raus:
array(7) { [0]=> string(8) "LadyLiya" [2]=> string(103) "LadyLiya" [3]=> string(2) "ds" [4]=> string(0) "" [5]=> string(0) "" [6]=> string(0) "" [7]=> string(0) "" }
könt ihr damit was anfangen? o.O
EDIT: Mitr hat gerade ein bekannter gesagt: Die Variable im Speicher zu löschen, löscht noch lange nicht den entsprechenden Inhalt der Datei. <.< mhm
Ok das sehe ich ein aber wie änder ich das jetzt in der datei?... o.O
Beitrag zuletzt geändert: 5.11.2009 20:30:19 von testworld -
das zeigt dann mal ganz deutlich, dass du die 14 rausgelöscht hast o.O
oder siehst du sie irgendwo in der ausgabe? -
EDIT: Mir hat gerade ein bekannter gesagt: Die Variable im Speicher zu löschen, löscht noch lange nicht den entsprechenden Inhalt der Datei. <.< mhm
Ok das sehe ich ein aber wie änder ich das jetzt in der datei?... o.O
-
achso darum gehts, du wills die daten aus der datei raus haben.
dazu musst du das array dann wieder zurück in die datei schreiben.
das sollte mit fwrite(...) funktionieren ;) -
Bin schon langsam müde und vewirrt :>
fwrite($userdatei, und jetzt? o.O sry da ich frage bin wie schon gesagt langsam von der rolle mittlerweile 30h auf den beinen <.< -
ich kann dir php.net empfehlen. dort kannst du von allen funktionen die parameter und rückgabewerte sowie deren verwendung anhand kleiner beispiele nachschlagen. einfach mal dort nachlesen wie die funktionen zu handhaben sind.
mfg -
Mein englisch ist nicht als zu gut bitte verrats mir doch einfach
-
hmm..seltsam...bei mir ist php.net auf deutsch (naja vlcht liefert dein browser keine sprachangaben mit, aber egal)
http://de2.php.net/manual/de/function.fwrite.php <- hier steht ganz schön wie das ganze funktioniert. besser könnte ich es dir garnicht erklären da ich es auch von dort gelernt habe. -
Grrr ich kipp gleich vom Stuhel ich werde das morgen alles deuch lesen.. kannst du mir nicht einfach die Lösung sagen und ich gebe Ruh
-
int fwrite ( resource $handle , string $string [, int $length ] )
fwrite() schreibt den Inhalt einer Zeichenkette string in die Datei, auf welche der Dateizeiger handle zeigt. Wenn der length Parameter gegeben ist, wird das Schreiben nach length Bytes beendet, oder wenn das Dateiende (EOF) erreicht ist. Je nachdem was eher eintritt.
fwrite() gibt bei Erfolg die Anzahl der geschriebenen Bytes zurück, andernfalls FALSE.
Sollte der length Parameter gesetzt sein, so ist zu beachten, dass die magic_quotes_runtime Konfigurations-Option ignoriert wird und somit keine Schrägstriche mehr von der Zeichenkette string entfernt werden.
Hinweis: Auf Systemen, welche zwischen Binär- und Textdateien (z.B. Windows) unterscheiden, muss die Datei mit 'b' im fopen() Mode-Parameter geöffnet werden.
Beispiel #1 Ein einfaches Beispiel für fwrite
<?php $filename = 'test.txt'; $somecontent = "Füge dies Datei hinzu\n"; // Sichergehen, dass die Datei existiert und beschreibbar ist if (is_writable($filename)) { // Wir öffnen $filename im "Anhänge" - Modus. // Der Dateizeiger befindet sich am Ende der Datei, und // dort wird $somecontent später mit fwrite() geschrieben. if (!$handle = fopen($filename, "a")) { print "Kann die Datei $filename nicht öffnen"; exit; } // Schreibe $somecontent in die geöffnete Datei. if (!fwrite($handle, $somecontent)) { print "Kann in die Datei $filename nicht schreiben"; exit; } print "Fertig, in Datei $filename wurde $somecontent geschrieben"; fclose($handle); } else { print "Die Datei $filename ist nicht schreibbar"; } ?>
bitteschön.
is zwar nur von php.net kopiert, aber was soll ich anders erklären als das? ist doch schön ausführlich und genau, wie du das ganze einsetzen und weiterverarbeiten musst.
mfg -
Gib mir bitte einfach nur den Skript für:
Ich will gerne array[1] (14) gegen 1 umtauschen
LadyLiya|14|<a href=http://welt14.freewar.de/freewar/internal/fight.php?action=watchuser&act_user_id=1>LadyLiya</a>|ds|<<< die Textdatei
$datei = fopen ("anfrage.txt","r");
$zeile = fgets($datei,500);
$data = explode("|", $zeile);
unset($data[1]);
fclose($datei); <<< php Datei
gib mir am besten einfach den vollständigen Skript...
Ich bedanke mich schonmal -
$datei = fopen ("anfrage.txt","r+"); $zeile = fgets($datei,500); $data = explode("|", $zeile); $data[1] = 1;//tauscht die eingelesene 14 durch 1 aus $datei = fopen ("anfrage.txt","w+"); //leert die datei foreach($data as $dings)//durchläuft das array und schreibt jeden wert zurück in die datei { fwrite($datei, $dings."|"); } fclose($datei);
ungetestet, sollte aber gehen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage