Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Array in Datei abspeichern? (https://www.delphipraxis.net/96179-%5Bphp%5D-array-datei-abspeichern.html)

cruso 19. Jul 2007 21:00


[PHP] Array in Datei abspeichern?
 
Hi!

ich kann in PHP ja mit file() den Inhalt einer Datei Zeilenweise in ein Array gepackt bekommen... Wie ist es nun möglich Daten wieder Zeilenweise in einer Datei abzuspeichern? Also wie kann man ein Array zeilenweise in einer Textdatei abspeichern?


MfG
cruso

3_of_8 19. Jul 2007 21:16

Re: [PHP] Array in Datei abspeichern?
 
Delphi-Quellcode:
$fp=fopen($filename, "w+");
fwrite($fp, implode("\n", $arr));
fclose($fp);
Schreibt das Array $arr in die Datei mit Pfad $filename.

cruso 19. Jul 2007 21:18

Re: [PHP] Array in Datei abspeichern?
 
Zitat:

Zitat von 3_of_8
Delphi-Quellcode:
$fp=fopen($filename, "w+");
fwrite($fp, implode("\n", $arr));
fclose($fp);
Schreibt das Array $arr in die Datei mit Pfad $filename.

Danke! :-D

cruso 20. Jul 2007 10:44

Re: [PHP] Array in Datei abspeichern?
 
ok.... also ich habe das nun einmal so umgesetzt:

Code:
//...
Das Problem: Es ist wir keine neue Zeile erstellt. Alles wird in der ersten Zeile der Datei abgespeichert.


Was läuft falsch?

Nuclear-Ping 20. Jul 2007 10:53

Re: [PHP] Array in Datei abspeichern?
 
Bemüh doch einfach mal php.net: http://www.php.net/manual/de/function.fopen.php ;)

Zitat:

Tabelle 84. Liste von möglichen Modi für fopen() mit mode
mode Beschreibung
'r' Öffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei.
'r+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
'w' Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
'w+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
'a' Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
'a+' Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

DeddyH 20. Jul 2007 10:54

Re: [PHP] Array in Datei abspeichern?
 
Für Windows musst Du die Zeile
Code:
fwrite($tf, implode("\n", $log));
geringfügig umändern:
Code:
fwrite($tf, implode("\r\n", $log));

Nuclear-Ping 20. Jul 2007 11:01

Re: [PHP] Array in Datei abspeichern?
 
Ich glaub das liegt eher daran:
Code:
$fp=fopen($filename, "w+");
und
Zitat:

'w+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
Hatte bisher noch nie Probleme, mit \n unter Windoof.

DeddyH 20. Jul 2007 11:03

Re: [PHP] Array in Datei abspeichern?
 
Zitat:

Zitat von cruso
Das Problem: Es ist wir keine neue Zeile erstellt. Alles wird in der ersten Zeile der Datei abgespeichert.

Die Datei wird also angelegt ;)

generic 20. Jul 2007 11:32

Re: [PHP] Array in Datei abspeichern?
 
Du solltest lieber serialize verwenden.

http://de2.php.net/manual/de/function.serialize.php

Zitat:

serialize

(PHP 4, PHP 5)

serialize — Erzeugt eine speicherbare Repräsentation eines Wertes
Beschreibung
string serialize ( mixed $value )

serialize() gibt einen String zurück, der eine Byte-Stream-Repräsentation von value enthält, die beliebig gespeichert werden kann.

Diese Funktion dient der Speicherung oder Übergabe von PHP-Werten, ohne dass diese ihren Typ oder ihre Struktur verlieren.

Um eine serialisierte Zeichenkette wieder als PHP-Wert verfügbar zu machen, verwenden Sieunserialize(). serialize() kann mit allen Typen umgehen, ausgenommen mit dem resource-Typ. Sie können sogar Arrays serialisieren, die Referenzen auf sich selbst enthalten. Zirkelbezüge innerhalb des Arrays/Objekts, das Sie serialisieren, werden ebenfalls gespeichert. Alle anderen Referenzen gehen verloren.

Wenn Objekte serialisiert werden, versucht PHP die Methode __sleep() vor der Serialisierung aufzurufen. Dies erlaubt einem Objekt letzte "Aufräumaktionen", bevor es serialisiert wird. Ebenso wird die Methode __wakeup() aufgerufen, wenn das Objekt mittels unserialize() wiederhergestellt wird.

Anmerkung: Dies funktioniert nicht korrekt bis PHP 4.0.7.

Anmerkung: In PHP 3 werden Objekteigenschaften serialisiert, aber die Methoden gehen verloren. Diese Beschränkung wurde in PHP 4 aufgehoben, so dass sowohl Eigenschaften als auch Methoden wiederhergestellt werden können. Bitte lesen Sie den Abschnitt Objekte serialisieren des Kapitels Klassen und Objekte für weitere Informationen.

Es ist nicht möglich PHP-interne Objekte zu serialisieren.

noch_ein_hannes 20. Jul 2007 12:33

Re: [PHP] Array in Datei abspeichern?
 
Wie wäre es denn gleich mit der entsprechenden Funktion "error_log()"???

... man kann ja damit nicht nur Fehler protokollieren .... :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz