Seite 1 von 1

PHP Script zum speichern von Text in eine txt Datei & Au

Verfasst: 08.05.2006 12:47
von Phil_CH
Hallo Zusammen

Ich brauche kurz eure Hilfe. Ich habe viel versucht, leider bin ich auf keinen grünen Zweig gekommen.

Das sollte das Script können:

In einer html oder php Datei sollte ich in einem Eingabefeld ( Text Form ) eine Nachricht eingeben können. Mit dem drücken auf einen Submit Button, sollte der geschriebene Text in eine txt Datei ( CHMOD 777 ) auf dem Server gespeichert werden. Zu guter letzt sollte eine weitere html oder php Datei die Daten aus dem txt File auslesen und die einzelnen Texteingaben untereinander als normale Homepage ausgeben/ darstellen.

Wäre super froh um Hilfe! Danke und Gruss Phil

Verfasst: 08.05.2006 19:41
von Maxxxx
Wieso machst du es nicht einfach mit einer Datenbank, wäre glaube viel effizienter und einfacher zu machen.
Weiß ja nicht wozu es ist und um was für Eingaben es geht.

Verfasst: 09.05.2006 19:11
von S2B
Ich hab sowas mal für ein Error-Logging geschrieben, hier mal grob angepasst...
Speichern:

Code: Alles auswählen

	$text = (isset($_POST['text'])) ? $_POST['text'] : '';

	$content = '<?php';
	$content .= "\n\$data = array();\n";

	$file_exists = file_exists($filename);
	if ($file_exists)
	{
		$data = array();
		include($filename);
		$data[] = $text;

		$data_string = '';
		foreach ($data as $this_data)
		{
			$data_string .= "$data[] = '" . str_replace(array('\\', "'"), array('\\\\', "\'"), stripslashes($this_data)) . "';\n";
		}
	}
	else
	{
		$data_string = str_replace(array('\\', "'"), array('\\\\', "\'"), stripslashes($this_data)) . "\n";
	}

	$content .= $data_string;
	$content .= '?>';

	if (($file_exists && is_writeable($filename)) || is_writeable(dirname($filename)))
	{
		if (!$file_handle = @fopen($filename, 'w'))
		{
			die('file could not be created: ' . $filename);
		}
		else if (!@fwrite($file_handle, $content))
		{
			die('could not write into file: ' . $filename);
		}
		@fclose($file_handle);
	}
	else
	{
		die('file isn\'t writeable: ' . $filename);
	}
Auslesen:

Code: Alles auswählen

if (file_exists($filename))
{
	$data = array();
	include($filename);
	foreach ($data as $this_data)
	{
		echo "<p>$this_data</p>";
	}
}
Allerdings ist das ganze (zumindest bei größeren Datenmengen) über eine Datenbank wesentlich komfortabler. Wenn du also eine Datenbank auf deinem Webspace zur Verfügung hast, würde ich die benutzen. :wink:

Edit: $filename steht für den Dateinamen deiner Datei. Da mein Code php-Code erzeugt, solltest du die Datei als php-Datei speichern (also mit der php-Endung). :wink: