|
|
|
|
|
|
|
#1 (permalink) |
|
Gast
Beiträge: n/a
|
Hallo allerseits! Ich häng im Moment an einem sehr merkwürdigen Fehler, der es mir unmöglich macht die aktuelle Komponente weiterzuentwickeln:
Ich habe eine simple Funkion, die einfach nur eine Datei öffnet, mit fopen, etwas reinschreibt, mit fwrite, und sie dann wiederzumacht, mit fclose. Wenn ich diese Funktion mehrmals aufrufe, schreibt sie nur den Inhalt des letzten Aufrufes in die Datei. Sprich wenn ich viermal vier verschiedene Zeilen eintragen will, macht sie die Datei trotzdem nur einmal auf und schreibt nur das letzte rein. Was kann ich tun, damit die selbe Datei auch mehrmals in einem Aufruf des Skriptes geöffnet, beschrieben und geschlossen wird? PHP-Code:
Also zum Beispiel: PHP-Code:
mfg |
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 23.02.2005
Beiträge: 211
![]() |
du musst den dateizeiger bei jedem Öffnen der Datei auf das Dateiende setzen, sonst schreibt der immer bei Position 0 und das ist der anfang der Datei
http://de2.php.net/manual/de/function.fopen.php benutze PHP-Code:
__________________
Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ? "Er hat Angefangen!" |
|
|
|
|
#3 (permalink) |
|
Gast
Beiträge: n/a
|
Das brächte mir überhaupt nichts, im Gegenteil, dann hätt ich den einen Text den ich da drin haben will viermal drin, in jeder Version.
Wie ich gesagt habe lese ich den Inhalt der Datei vorher aus und lege ihn in einer Variabel ab, diese Variabel will ich dann in die Datei schreiben, und zwar nicht hinten angehängt, sondern alleine, da die Variabel verändert wird. Dann komm ich manchmal in die Situation, dass ich noch im selben Skript, die Datei erneut aufmachen, den Inhalt auslesen und ihn wieder hineinschreiben muss, das geht aber nciht, weil PHP die DAtei nur einml aufzumachen scheint. Dieses Skript demonstriert das Problem: PHP-Code:
|
|
|
#4 (permalink) | |
|
Erfahrener Benutzer
Registriert seit: 23.02.2005
Beiträge: 211
![]() |
Zitat:
wenn ich "Hallo Welt" mit "Hallo Welt2" überschreibe und dann nochmal aufmache und mit "Hallo Welt3" überschreibe ist es doch logisch, dass da nur "Hallo Welt3" drinsteht. Irgendwie versteh ich das Problem jetzt nicht.
__________________
Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ? "Er hat Angefangen!" |
|
|
|
|
|
#5 (permalink) |
|
Gast
Beiträge: n/a
|
Das das aufmachen zwischendrin nicht funktioniert, das HalloWelt2 geht nicht auslesen, er macht es dann nicht auf, probier das Skript oben, er sagt dann das die Datei leer ist, obwohl du grade was reingeschireben hast und wenn du den Auszug alleine nimmst, gehts auch, aber wenst es zweimal machst nimma.
Es geht nciht darum nur zur überschreiben was drin steht, es soll vorher ausgelesen werden. Wenn ich zum Beispiel so hab: #?Dateien /home/benutzer/irgendwas #!Dateien und ich will da eine DAtei dazuscheriben zu: #?Dateien /home/benutzer/irgendwas /home/benutzer/nochetwas #!Dateien muss ich das vorher auslesen, dann die Datei darein bringen mit nem preg_match, nem Array usw und dann muss ich es erst eintragen. Bis hierher funktioniert das wenns nur so weit geht, will ich aber jetzt im selben Skript noch eine Datei dazuschreiben, ignoriert er einfach die ganze Prozedur bis hierhin und macht nur die letzte Änderung an der Datei, sprich wenn ich jetzt eine drite Datei dareintu, müsste er die DAtei aufmachen in der schon zwei drin stehen, und die dritte reingeben, wennst du die DAtei danach aber aufmachst steht nur die erste und die dritte drin, aber nciht die zweite. Egal wievile Züge man zwischendurch macht, er führt nur den letzten fwrite aus und sagt bei allen vorherigen das die Daeti leer ist (wenn man neu erstellt) oder er sagt gar ncihts und tut nur die letzte rein. |
|
|
#6 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 23.02.2005
Beiträge: 211
![]() |
PHP-Code:
hab das aus spass mal auf 10 verlängert und es hat immer noch geklappt
__________________
Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ? "Er hat Angefangen!" |
|
|
|
|
#7 (permalink) |
|
Gast
Beiträge: n/a
|
Wenn ich dein Skript da oben ausführe gibt er mit echo zwar das richtige aus, in der Datei steht aber nur das:
davo nochmal dahinter was dazu Steht bei dir das richtige in der Datei, also: TEXT etwas vollkommen anderes etwa davor was dazu etwa davo davo dahinter was dazu davo davo nochmal dahinter was dazu (TEXT war das was vorher in der Datei drin stand.) Weißt du was? Ich glaub das liegt am filesize() Befehl, der ließt immer nur 4 Zeichen aus, so wie am Anfang der Datei nur 4 drin stehen von TEXT. |
|
|
#9 (permalink) |
|
Gast
Beiträge: n/a
|
Aber er schreibt dir auch das selbe Kaudawelsch in die Datei?
Warums nit geht steth in der Doku^^: Das Ergebnis dieses Funktionsaufrufes wird zwischengespeichert. Siehe clearstatcache() für weitere Einzelheiten. So funzts: PHP-Code:
|
|
|
#10 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 23.02.2005
Beiträge: 211
![]() |
also bei mir steht das auf dem bildschirm
Code:
text etwas vollkommen anderes etwas vollkommen anderes davor was dazu etwas vollkommen anderes davor was dazu etwas vollkommen anderes davor was dazu etwas vollkommen anderes dahinter was dazu davor was dazu etwas vollkommen anderes dahinter was dazu davor was dazu etwas vollkommen anderes dahinter was dazu nochmal dahinter was dazu Code:
davor was dazu etwas vollkommen anderes dahinter was dazu nochmal dahinter was dazu PHP-Code:
na das clearstatcache() werde ich mir mal merken :wink: Wie hast das denn gefunden?
__________________
Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ? "Er hat Angefangen!" |
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Hochgeladene Datei wird doppelt abgelegt | thecracked | PHP Tipps 2008 | 3 | 01.07.2008 16:31 |
| Ordner Struktur auslesen bestimmte datei finden .... | silverghost | PHP Tipps 2005 | 3 | 24.05.2005 13:55 |
| Includete Datei nicht gleich ausgeben | Madden | PHP-Fortgeschrittene | 1 | 12.05.2005 00:19 |
| aus php datei eine pdf datei erzeugen lassen | raffnix | PHP-Fortgeschrittene | 5 | 04.02.2005 15:08 |
| [Erledigt] mail versand mit anhang (-- fopen(), fread(), filesize() --) | PHP Tipps 2005 | 5 | 29.01.2005 18:36 | |
| Idee zum Speichern einer Datei | PHP Tipps 2005 | 6 | 10.01.2005 22:36 | |
| xfdf Datei mit PHP an eMail senden Problem: Leere Datei | PHP Tipps 2004-2 | 1 | 07.12.2004 12:25 | |
| Dateien lesen und schreiben [mehr als: r,a,w]? | PHP Tipps 2004 | 4 | 24.10.2004 18:53 | |
| Zeilenumbrüche & Neudatein mit PHP | PHP Tipps 2004 | 5 | 21.10.2004 11:38 | |
| Datei mit php erzeugen | Stümper | PHP Tipps 2004 | 4 | 12.10.2004 12:51 |
| php und ftp | PHP Tipps 2004 | 4 | 07.10.2004 09:58 | |
| [Erledigt] datei editieren | PHP Tipps 2004 | 1 | 10.09.2004 20:33 | |
| (ich schonwieder) Link seite automatisch | imported_DJ Nuno | PHP Tipps 2004 | 14 | 19.08.2004 17:42 |
| Wie kann ich eine PHP Datei in eine HTML Datei umwandeln | PHP Tipps 2004 | 2 | 12.08.2004 18:04 | |
| [Erledigt] Php skript upload problem! | PHP Tipps 2004 | 2 | 30.06.2004 00:06 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.