Hello,
und noch eine Version.
Man könnte nun noch darüber nachdenken, die Datei wenigstens zu lesen, wenn sie schon nicht beschreibbar ist. Da müsste man dann vielelicht mit Flags arbeiten.
Beschreiben prüfen,
Lesen prüfen.
Das kann sich aber der begabte Logiker selber einbauen...
<?php
$datei = "textarea.php";
$dbdatei = "textarea2.db";
$textfh = "10";
$textfb = "40";
$content = '';
$fp = fopen("$dbdatei","a");
if($fp)
{
fclose($fp);
if(isset($_POST['senden']))
{
$fp = fopen("$dbdatei","w");
if($fp)
{
flock($fp, LOCK_EX);
fwrite($fp, $_POST['text']); ## Das ist sicherlich nicht ungefährlich...
## und was ist mit get_magic_quotes_gpc() ?
fclose($fp);
}
}
$fp = fopen($dbdatei, "r");
if ($fp)
{
flock($fp, LOCK_SH); ## damit auch der ganze Inhalt ausgelesen wird
$content = fread($fp, filesize($dbdatei)+1); ## +1, sonst bei leerer Datei Fehlermeldung
fclose($fp);
}
echo
" <form action=\"{$_SERVER['SCRIPT_NAME']}\" method=\"post\">\r\n".
" <textarea name=\"text\" cols=\"$textfb\" rows=\"$textfh\">".
htmlspecialchars($content)."</textarea><br>\r\n".
" <input type=\"submit\" name=\"senden\" value=\"Speichern\">".
"<input type=\"submit\" name=\"neuladen\" value=\"Neu laden\">\r\n".
" </form>\r\n";
}
else
{
echo
"<p class=\"error\">Datei ".htmlspechialchars($dbdatei)." ist nicht beschreibbar</p>\r\n";
}
?>
Ich habe diesen Code nun mal einfach per Copy und Paste aus Notepad++ hier eingeststellt, nachdem wir ja schon mehrfach Diskussionen über die Formatierung von Quellcode hatten.
Wen diese Form der Einrückung nun also stört, der sollte sich meinem Wunsche anschließen, dass die Forumssoftware zukünftig die vorhandenen Tabulatoren in Leerzeichen umwandelt und zwar in eine neben dem Postbutton eintellbare Anzahl.
Ich plädiere für einen Default von 4 Leerzeichen pro Tab, so wie die Mehrheit der Empfehlugnen im Web dies auch tut.
Habe mich selber schweren Herzens von 2 Spalten pro Tab getrennt *schnüff*
Ein harzliches Glückauf
Tom vom Berg