eingabe

mike4004

Erfahrenes Mitglied
hallo kann ir jemand sagen wie ich diesen code ausweiten kann so das ich ein Textfeld zum schreiben habe und einen button mit dem ich die datei text.txt löschen kann was abe rnoch besser währe das nur der inhalt gelöscht wird.

Code:
<?php
define(FILENAME, 'text.txt');
define(LINEBREAK, "\r\n");



$string = $_POST['append'];
appendToFile(FILENAME, $string);

echo '<br><br><br><br>';
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
echo '<input type="text" name="append"><input type="submit" value="Speichern"><br><br>';
echo 'Ausgabe:<br>';
echo '<textarea rows="10" cols="70" name="text">';
echo readFromFile(FILENAME);
echo '</textarea><br>';
echo '<form>';


function appendToFile($file,$content)
{
$fp = _openFile($file, 'a');

if (!fwrite($fp, $content . LINEBREAK))
_printError('Error writing File ' . $file);

_closeFile($fp);
}

function readFromFile($file)
{
$fp = _openFile($file, 'r');

if (!$text = fread($fp, filesize($file)))
_printError('Error reading File ' . $file);

_closeFile($fp);

return $text;
}

function _closeFile($fp)
{
if (!fclose($fp))
_printError('Error ´closing File ');
}

function _openFile($file, $mode)
{
$fp = false;
if (!$fp=fopen($file, $mode))
_printError('Error opening File ' . $file);

return $fp;
}

function _printError($msg)
{
exit($msg);
}

?>
 
Hi probiers mal hiermit:

function emptyFile($name){
if(fileexists($name)){
$fp=fopen($name,'w');
fclose($fp);
}
}

define(FILENAME, 'text.txt');
define(LINEBREAK, "\r\n");


if(isset($_POST['appendfile'])){
$string = $_POST['append'];
appendToFile(FILENAME, $string);
}

if(isset($_POST['emptyfile'])){
emptyFile(FILENAME);
}

echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
echo '<input type="text" name="append"><input type="submit" name="appendfile" value="Speichern"><input type="submit" name="emptyfile" value="Datei leeren"><<br><br>';
echo 'Ausgabe:<br>';
echo '<textarea rows="10" cols="70" name="text">';
echo readFromFile(FILENAME);
echo '</textarea><br>';
echo '<form>';

ungetestet!
 
Zuletzt bearbeitet:
jetzt hab ich die fehler meldung :Fatal error: Call to undefined function: fileexists() in /home/webpages/lima-city/mike4004/html/eingabenew.php on line 70

erweitertes script

Code:
<?php
define(FILENAME, 'text.txt');
define(LINEBREAK, "\r\n");



$string = $_POST['append'];
appendToFile(FILENAME, $string);

echo '<br><br><br><br>';
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
echo '<input type="text" name="append"><input type="submit" name="appendfile" value="Speichern"><input type="submit" name="emptyfile" value="Datei leeren"><<br><br>';
echo 'Ausgabe:<br>';
echo '<textarea rows="10" cols="70" name="text">';
echo readFromFile(FILENAME);
echo '</textarea><br>';
echo '<form>';


function appendToFile($file,$content)
{
$fp = _openFile($file, 'a');

if (!fwrite($fp, $content . LINEBREAK))
_printError('Error writing File ' . $file);

_closeFile($fp);
}

function readFromFile($file)
{
$fp = _openFile($file, 'r');

if (!$text = fread($fp, filesize($file)))
_printError('Error reading File ' . $file);

_closeFile($fp);

return $text;
}

function _closeFile($fp)
{
if (!fclose($fp))
_printError('Error ´closing File ');
}

function _openFile($file, $mode)
{
$fp = false;
if (!$fp=fopen($file, $mode))
_printError('Error opening File ' . $file);

return $fp;
}

function _printError($msg)
{
exit($msg);
}
function emptyFile($name){
if(fileexists($name)){
$fp=fopen($name,'w');
fclose($fp);
}
}

define(FILENAME, 'text.txt');
define(LINEBREAK, "\r\n");


if(isset($_POST['appendFile'])){
$string = $_POST['append'];
appendToFile(FILENAME, $string);
}

if(isset($_POST['emptyfile'])){
emptyFile(FILEMAME);
}
?>
 
Ok,

hatte gehofft ein einfaches öffnen und schließen der Datei würde ausreichen. Dann schreib mal einen Leerstring in die Datei:

$fp=fopen($name,'w');
fwrite($fp,'');
fclose($fp);
 
Geht das irgentwie das man sie löscht und dann gleich nochmal schreibt.

denn des geht auch net.
 
Zuletzt bearbeitet:
Wenn Du die Daten lediglich mit der Eingabe aus dem Feld überschreiben möchtest, kannst Du folgenden Code benutzen:

if(isset($_POST['emptyfile'])){
emptyFile(FILEMAME,$_POST['append']);
}

function emptyFile($name,$string){
$fp=fopen($name,'w');
fwrite($fp,$string);
fclose($fp);
}

Wobei ich nun aber die Funktion umbenennen würde.
 
wenn ich das mache schreibt er mir eine datei namens "FILENAME" auf meinen space wenn ich auf datei leeren klicke.


kann mir jemand das script so umschreiben dtton gibt das es einen button gibt der die Text.txt datei löscht und einen Neue text.txt datei erstellt.
 
Zuletzt bearbeitet:
Lass mich raten

Er erstellt keine Datei namens FILENAME, sondern FILEMAME.

Oben im Prozeduraufruf steht FILEMAME und nicht FILENAME.
 
Zurück