php -variablen in textdatei speichern klappt nicht

MrL0vee

Cadet 3rd Year
Registriert
Jan. 2010
Beiträge
59
Hallo,
habe ein kleines Problem bezüglich php.

Ich habe ein Formular mit HTML. Die Variablen titel, typ, var1 und var2 möchte ich in einer Datei abspeichern, die genauso heißt, wie der angebene Titel im Formular. Es wird im Verzeichnis, wo die Dateien drin sind zwar die txt-Datei mit dem gewünschten Namen gespeichert, allerdings sind die Variablen titel, typ, var1 und var2 nicht darin zu finden. Die Datei ist leer!


Code:
$fp = fopen($titel.txt, "w");
fputs($fp, $titel, $typ, $var1, $var2);
fclose($fp);

Kann ich mit diesem Script überhaupt mehrere Variablen in einer Datei auslagern oder brauch ich dazu was anderes?

Ich hoffe, ihr könnt mir helfen!

PS: Die Variablen werden in der Datei ordentlich mit Post an das Dokument gesendet, wo das PHP-Script ist.
 
unter der Vorraussetzung, dass es die Variablen gibt und sie einen Inhalt haben (kannst du dir ja zum debuggen einfach mal ausgeben lassen), möchte ich auf folgendes Zitat von php.net verweisen:
int fputs ( resource $handle , string $str [, int $length ] )

Die Funktion fputs hat also 2 oder 3 Argumente, nicht 5.

Außerdem muss die erste Zeile so aussehen:
PHP:
$fp = fopen($titel.".txt", "w");
 
Und wie müsste mein Script dann aussehen, damit ich 5 Variablen oder mehr speichern kann?
 
Du verbindest die Strings einfach.
Code:
fputs($fp, $titel.$typ.$var1.$var2);
 
Dankeschön. Klappt! Aber wie kann ich die Datei später wieder auslesen und damit auch was anfangen? Beispielsweise die Variable var1 in einem späteren Dokument mit echo anzeigen??
In der Textdatei ist ja jetzt nur zusammenhanglos die Eingabe vom Formular.
 
Du kannst deine Variablen bspw. mit | getrennt in die Textdatei speichern und dann später mittels list drauf zugreifen.

form.txt:
Code:
titel_xyz|Typ|Var1|Var2
titel_abc|Typ|Var1|Var2

Script:
PHP:
$file = "form.txt"; // Quelldatei
$zeilen = file($file); // Text zeilenweisen in ein Array speichern
$anzahl_zeilen = sizeof($zeilen); // Anzahl der Zeilen ermitteln

for ($i = 1; $i <= $anzahl_zeilen; $i++) // Array durchlaufen
{
  list ($titel, $typ, $var1, $var2) = split("\\|", chop($zeilen[$i]));
  echo $var1;
  echo $var2;
  ...
}
 
Benutz am besten XML oder natürlich Datenbanken. Was genau hast du vor?
 
Zurück
Oben